通过Email发送图片获取对方IP,具体的做法是:
在Email正文中嵌入特定的网络图片(该图片放在自己的http服务器上)发送给特定用户,对方浏览该图片后,
apache记录日志,我们通过查看日志,就可以获取对方的IP地址,甚至包括Referer、User-Agent标识。
作为示例,我注册了一个新的sina邮箱:angela_zhangrong@sina.com,发件人姓名填写为张蓉。
在网上随便搜了个zhouxxx@baidu.com百度员工的邮箱,关键词intext:”@baidu.com”。
这里之所以用女性的名字,是为了降低对方的防范心理。
随后,在网上找了一张漂亮女生的合照,给对方发Email。这封测试邮件,我同时也发给了阿里巴巴的一个哥们儿。邮件内容是:
标题: 上次聚餐可慧的照片
正文: 这是上次聚餐时给可慧和阿姨拍的照片,今天才传给你。
原图我也没有了。 一切顺利哈
{{插入图片 http://23.228.xxx.xxx/c4ca4238a0b923820dcc509a6f75849b.jpg?cache=4}}
23.228.xxx.xxx是我自己的服务器IP。
图片命名我直接用md5(1),是为了让对方产生第一感,仿佛这是社交网站自动生成的文件名。当然,对方直接看到的是一张图,而不是地址。
参数cache=4,则完全是为了区分不同的收件人,也可以很方便地在日志搜索记录。当然,还可以改成其他参数伪装成时间戳。
邮件发出去大约二十分钟,百度和阿里巴巴的哥们儿就都中招了。
cache=c,IP为222.129.43.x的是百度的这位哥们儿,而后一个IP 42.120.74.x则来自阿里巴巴。
可以看到百度的同学使用了iPhone手机客户端,对应的IP地址,可能会是百度VPN的出口IP。
而阿里的同学则是64位系统, Chrome浏览器。
这里主要利用了邮件客户端会自动请求Email正文中嵌入的网络图片,而不会提示用户。