by 空虚浪子心
互联网上总是有很多奇奇怪怪的设计和需求,他们总是带来很有趣的安全问题。
上次的可执行任意命令漏洞,迅雷已经修补了,在知道被修补的同时,也顺带研究了一下补丁,发现他已经把opendirectory限制在了"my.xunlei.com"下。先不说这个是否安全,看一下其他插件,迅雷有很多插件,一个能写出“opendirectory”的同学,会不会写出点其他的东西呢?
我其实不会玩插件安全,顶多看下函数,拿COMRaider跑出来点不知道是啥意思的东西,别的就不懂了,所以没收获也很正常。开动歪脑经,发现xunlei的一个设置下载文件夹得功能不错,如果能让用户下载到远程共享,然后再写个脚本,不断的替换下载文件,也能达到远程执行木马的功能。
可惜即使设置成功了,xunlei还是不让下载,而且,经过新的漏洞修补,那个函数也只能在“my.xunlei.com”下调用。当然mini迅雷也有个不错的函数,可以用js调用,直接设置默认下载文件夹。
可惜这个设置必须以单个字母加":"开头。
在sniffer web迅雷时,看到有个http://127.0.0.1:200的东西,原来这里是个迷你的小web服务器。嘿嘿。。不知道迅雷的web服务器有没有apache和iis安全性好。
这个web其实是个cache(本地缓存),为了减少my.xunlei.com的压力,不得不做了一个本地缓存。
研究这个web server的初衷,其实是因为这个web下的js要在“my.xunlei.com”域下执行,这可是好事的,我前面说了,opendirectory补丁后,其实是可以在这个域下调用的。有web,就有一大推安全问题等着你,溢出啦,目录浏览啦,文件写入啦。。。
其实我对web也不是很熟悉,就是先“../”一下,然后编码一下而已。
结果都不管用。
恼羞成怒下,键盘上出现的字符,都扔了上去。
哈哈!出来好东西了!
这张图,上面是file monitor监控文件读写,下面文本文档是我请求的url地址后半部分。看到不能“/../”取文件的原因了,他们把“./”转换成了“\”,当然也转义了其他一些危险字符。转义后:
http://127.0.0.1:200/../aaa.txt
变成了
http://127.0.0.1:200/.\aaa.txt
这当然不能跨目录了。
只可惜这个转义本身就存在问题,少了一个“.”,其实我看键盘上所有字符的转义,就是为了找一个能够被他“变没”的字符出来,以便加入到“/../”的行列中。现在看来,果然转义的恰到好处。
下面请求文件:
最后,使用远程地址居然也能访问,见图.
这就意味着,任何一个开了web迅雷的用户,你的c盘,对我来说,是免费共享的。什么什么cookie文件,某些ftp的用户密码文件,甚至你刚刚下载到“c:\ TDDOWNLOAD”下的A片,只要知道文件名,就可以免费归我。
在
http://localhost:200/…/Profiles/history6.dat
这个地址,是以前你下载的小电影历史记录,这个漏洞只能读,暂时不能剪切。
如果服务器上,也用web迅雷,这就等于是后门了。
其实最最之前的初衷,我是想找找my.xunlei.com下的跨站来的,因为这里的跨站最牛X,可以执行任意系统命令。
—-
感谢网友“cltf”指正本文一处拼写错误。
0 条评论。