该网站可通过qq内直接分享来获取对方ip,经测试还挺准确的,不过要付费。。。这就很鸡肋了,穷要穷得有志气,我是不会给一分钱的(恼),搞懂他的原理不就得了,事实证明没有这么简单,前几天一直在研究也没想出办法,因为该网站生成的定位链接获取到的html源码只有几个大大的单词:404 Not Found。正当我百思不得其姐的时候qq里的一位大佬给了我提示(大佬用的是小号所以没有留名,不过这里还是感谢大佬了):是因为ua的原因。。。大佬说出这句话的时候我只想给自己一个大大的耳光,我踏马怎么没想到呢,火狐改ua,进入该网站,F12一打开,果然获取到了正确的源码iptest.html:
<head>
<meta itemprop="name" content="xml卡片标题" />
<meta itemprop="description" content="xml卡片描述" />
<meta itemprop="image" content="iptest.php文件链接" />
<title>标题title>
head>
划重点:这里需要注意的是,iptest.php文件链接需要在其后带一串无效参数才能正常转换为短链接,例如http://www.test.com/iptest.php?abcdefg 否则qq仍然会把探测链接转为图床链接,至今没有搞懂为什么,不过照做就完了
将源码按照自己的配置修改后,上传服务器即可
0x03 筛选ip
前面说到的两种方法都能确确实实获取到ip没错,不过毕竟是经过了别人家的门,再怎么说也会留下一点痕迹,这里的痕迹就是腾讯服务器的ip,那么怎么筛选出真正的ip呢?
说是筛选,其实也就几个ip,上述两个方法获取到的ip略有不同,下面说一下。
0x03.1
第一种方法获取到的ip,首先第一个会获取到腾讯服务器的ip,无ua值,具体因为什么还不知道,大概是因为聊天记录漫游到云服务器的原因;
然后第二个获取到的ip便是本机的ip,因为本机会最先预览一次,通过iptest.php记录下来的ua值很容易辨别;
排除了这两个ip,剩下一般就是对方的ip了,当然前提是你只发给了目标,因为方法过于强大,无需点击即可获取,不排除会有特殊情况,大家随机应变。
0x03.2
第二种方法获取到的ip就要多一点了,因为经过的步骤比较多。
首先第一个,只要点击了分享方式选择qq,他就会自动先在云端生成一个xml卡片,此时会将iptest.php文件链接转换为腾讯短链url.cn,所以这里获取到的第一个ip是转短链api的服务器的ip,ua:myop/1.0 ;
然后第二个,当你选择了一个好友后会预览xml卡片,让你确认是否发送,此时本机最先预览图片,获取到的是本机的ip;
最后第三个,同上所述为聊天记录漫游服务器的ip;
经过多次反复测试,在某些情况下还会出现一个ua为iPhone的ip地址,非目标ip,暂时还不清楚是为什么,推测也为转短链的服务器ip,一般情况下不会出现:
排除了以上三个ip剩下的即是对方ip。
0x04 测试过程
首先将上述的两个文件上传服务器,加上一张预览用的图片1.jpg,结构如下:
0x04.1 第一种方法
首先编辑xml代码,填上自己上传的地址,输入到发送栏,这里用我自己的服务器和小号备用机做测试
长按发送按钮转成xml卡片消息
此时查看服务器,发现已经生成了记录hack.txt
文件内容为
可以看到获取到了三个ip,没有ua值的是腾讯服务器的ip,第一个是大号本机的ip,第三个则是小号备用机(也就是探测目标的ip)
未经过点击,ip探测成功√
0x04.2 第二种方法
首先qq内打开iptest.html文件链接,点击右上角,此时还未选择分享方式,未获取到ip
点击“好友”,到达选择好友界面,此时云端生成xml卡片,iptest.php文件链接被转换为腾讯短链,获取到了短链服务器的ip
选择好友,确认是否发送,本机预览消息,此时获取到本机ip
点击发送,聊天记录漫游到服务器,此时获取到腾讯服务器ip
小号点开聊天记录,自动读取了xml卡片,此时获取到小号备用机(目标)ip
未经过点击,ip探测成功√
0x05 注意事项
经过了多次测试,终于写出了这篇文章,最后说几个全文的注意事项,划重点了哈!
1.所有的链接都会受到缓存的限制,所以一个iptest.php链接只能对一个目标生效一次,可以通过修改后面的无效参数来更新缓存。
2.上面说明获取顺序的时候,是按步骤顺序写的,实际上获取到的服务器ip记录时间不一定按照顺序记录,但是基本上最后一个就是目标ip,毕竟目标是最后一个收到的嘛,当然也不排除特殊情况,需要随机应变。
3.经过多次测试,发现方法二存在特殊情况,某些时候iptest.html文件链接在qq内打开时会存在该页面本身被缓存的情况,导致iptest.php文件链接不会更新,缓存自然不会更新,所以无法成功获取ip,这种情况下hack.txt不会记录ip,所以比较好判断。可以通过更改iptest.html文件名来更新页面的缓存。
4.记得每一次探测后删除hack.txt文件或改名,以免下一次使用时搞混。
0x06 后记
讲真,在现在这个时代拿到ip并没有什么实际的用处,顶多能够吓吓小白或者在小白面前装装逼,但这里还是要说一句,我只是做一个分享,若因此文章产生了比较重大的问题(虽然不大可能),一切责任自负,与本文作者无关!
本文用到的文件都在我的GitHub里,有什么不懂的大家可以留言问我。