通过 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 正文中嵌入的网络图片,而不会提示用户。