迅雷投毒 demo!专业脸的来了。。那些凡辟谣必信的人进来看看

2015-09-21 20:45:32 +08:00
 est

迅雷下载地址: http://adcdownload.apple.com/xcode-fake-1.1.1.1.dmg

我自己测试了:

没错我就是迅雷 5 用户!

出处: http://weibo.com/3802345927/CBAPoj5IR

@evil_xi4oyu

http://t.cn/RyJWU6U 可以拿迅雷下载试试,域名是 apple 用于下载 xcode 的主域,应该会随机的下到 5M 和 30 几 M 的 dmg 文件, 5M 的是 buildroot 的安装包,可以拿 winrar 打开, 30 几兆的是迅雷的 exe ,不同是因为对于已经存在的链接污染按照迅雷的算法会有一定的覆盖面。大家可以在后面回下下载的是多少[偷笑]

今天 19:37 来自 微博 weibo.com

转发 26 评论 3 赞 2

说有 hash 校验就不会下载出错的,你们想一想攻击会有那么 sb 去攻击最困难的(hash 碰撞)部分吗?都是从最薄弱的环节下手,比如做种, seeding 的环节。

11444 次点击
所在节点    信息安全
79 条回复
binux
2015-09-22 02:17:56 +08:00
反正我只用离线,以迅雷服务器上的文件为准。
lavadore
2015-09-22 02:20:43 +08:00
只用寻来下视频文件的路过
binux
2015-09-22 02:30:24 +08:00
不过其实问题不在于下到的是 5M 还是 30M ,问题是可以伪造 URL 。比如伪造一个看起来合法的但是不存在的网站地址,然后放的离线上,这样无论怎么下都是病毒,而且因为是来源可信站点,而不容易被觉察。
tt7
2015-09-22 02:57:28 +08:00
对于程序员而言, 可以制定自己的简单策略: 静态资源用迅雷离线下。可执行文件、代码等都用其他纯 HTTP 下载工具。
对于公众而言,只能求哪天迅雷良心发现,自己检查并管理哪些文件不应该缓存而是强制用户每次都仅从源地址重新下载。
lvyao
2015-09-22 06:17:12 +08:00
http://winscp.net/download/winscp570setup.exe
还有这个, 3 月份的时候 @迅雷客服,说无法处理。
AKQJT
2015-09-22 06:47:43 +08:00
@binux 对的 特别是像 Xcode Java SDK 之类的,官网链接地址需要登陆才能下载,用迅雷离线可以直接下载 所以官方 URL 随意修改一个字符 欺骗性很高
aa45942
2015-09-22 07:13:18 +08:00
猜想的投毒步骤:
1.本地解析欲投毒链接(文件可放外部服务器或本地服务器,本地做 host 解析)
2.用迅雷下载这个原本不存在的文件,使得迅雷 p2p 服务器保存这个链接的可用节点
3.把地址发布出去,迅雷从源地址访问不到此文件,会从 p2p 节点把文件 down 下来

然而这招对已被迅雷离线缓存的文件无用,而且这个投毒的链接只能手动复制到迅雷下载

至于下载时发现了两个不同的文件,有可能是这个步骤被进行了两次,也就是同一个地址投毒两次,而且一旦此文件被迅雷离线服务器收录,那就改不了了(无法从原始地址获得更新,只能使用离线服务器的文件做校验)
aa45942
2015-09-22 07:18:29 +08:00
“然而这招对已被迅雷离线缓存的文件无用”里的‘’缓存的文件”应该是“缓存了下载地址与文件的情况”,
aa45942
2015-09-22 07:29:35 +08:00
刚刚测试了一下,你们可以试试
aa45942
2015-09-22 07:33:49 +08:00
测试过程:
1.修改本机 HOST ,指定网易为本人的一个 web 服务器地址
2.使用迅雷下载一个原本不存在,但我服务器上存在的一个文件
http://www.163.com/qy.mp3
3.将 HOST 修复,重新使用这个地址下载此文件

结论:
将如下地址复制到迅雷下载:
http://www.163.com/qy.mp3
成功,但此文件实际上并不存在
aa45942
2015-09-22 07:45:00 +08:00
aa45942
2015-09-22 09:05:13 +08:00
不过这个方法最大的缺陷是,直接点击链接马上会发现这其实是一个不存在的地址,迅雷并不会弹出新建下载框( ff 每夜版+flashgot )
can
2015-09-22 09:17:46 +08:00
@aa45942 有意思哈,迅雷这么不严谨啊,确实一次就会缓存走吗?这就是只对比文件的 SHA1 导致的问题?
mcone
2015-09-22 09:22:42 +08:00
@aa45942
aa45942
2015-09-22 09:29:19 +08:00
@can 应该是在用户请求一个从未收录的地址时,迅雷会从本地访问欲下载的数据,下载过程中对此文件进行 hash 计算,若匹配到离线服务器的文件,则将此地址与文件关联以防止地址失效。如此当其他用户请求这个地址时迅雷服务器会返回匹配的文件

不过因为手边就一台电脑,无法测试如果文件没有被离线服务器收录时会发生什么情况( p2p 下载的话本地也是一个源,迅雷直接就从本地下载了,而把文件删掉就不能完成 p2p 下载)
est
2015-09-22 09:48:54 +08:00
@aa45942 原作者也说了,正常任意 URL 都可以污染。他做这个 demo 是为了防止给别人造成麻烦才没有投毒正常的 URL

想一下也想的通,一个 URL 都可以下载出 5M 和 30M 两个版本,肯定是先后投毒出来的效果。说明任意 URL (无论存在不存在)都可以被投毒。
aa45942
2015-09-22 09:51:10 +08:00
实验 2 :
依旧是这个地址,我服务器上的文件换成了 B ,再次更改本地 HOSTS ,使用迅雷下载了一次
http://www.163.com/qy.mp3

修复 HOSTS ,再次使用迅雷下载时发现此文件也变成了 B ,此时文件来源为离线服务器与高速通道加速
故可得出结论:在迅雷服务器中,对于这条失效的下载链接,迅雷保存了最近一次能够正常使用此链接下载的文件的 hash

A 文件大小:
5,059,095 字节
B 文件大小:
4,260,335 字节

大伙现在可以试试,看看现在能下载到哪个文件
http://www.163.com/qy.mp3
xxx027
2015-09-22 09:54:16 +08:00
@aa45942 非常的有趣。我在你这条回复前离线是 5MB 多,现在已经是 4MB 了。
lution
2015-09-22 10:01:30 +08:00
@yexm0 这叫黑?文件名一看就是不存在的,大大的 fake 不认识?
est
2015-09-22 10:07:12 +08:00
迅雷下载运营产品经理 强伊文 跟 evil_xi4oyu 吵起来了

http://weibo.com/xlyangtai

论你永远不可能叫醒一个装睡的人。都一个 URL 可以下载 2 份不同的文件了,还死不承认 URL 可以被投毒。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/222553

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX