鄙视雨林木风

标签: ,

一大早就跑到法院做苦力去了,中午回来打开博客,看到RandomOS在《115网盘真实下载地址解析工具(Bookmarklet版)》的留言:

今天悲剧的发现115.com升级了, 方法失效了。

我向来是不惮以最坏的恶意,来推测雨林木风的,然而我还不料,也不信竟会下劣凶残到这地步。况且始终在线着的简单的标签小程序,更何至于无端就被封杀了呢?

然而即刻证明是事实了,作证的便是返回的错误信息:

非法数据格式,请联系115网盘客服.code=0

那天介绍的C#写的115网盘解析工具也返回错误信息:

软件版本太低,请升级到最新版

难道最新版的优蛋的User-Agent不一样了?重新下载了一个优蛋,抓包:

GET /?ct=upload_api&ac=get_pick_code_info&pickcode=f2dd0c3966&version=1169 HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 6.1)
Host: u.115.com
Cache-Control: no-cache

User-Agent依然是IE的,而且用IE浏览器仍然可以手动解析,IE的HTTP请求为

GET /?ct=upload_api&ac=get_pick_code_info&pickcode=f2dd0c3966&version=1169 HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: u.115.com
Connection: Keep-Alive

看来不是User-Agent的问题,抓取ajax请求的HTTP包:

GET /?ct=upload_api&ac=get_pick_code_info&version=1169&pickcode=f2dd0c3966 HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://u.115.com/file/f2dd0c3966
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Host: u.115.com
Connection: Keep-Alive

对比三者的异同,嫌疑最大的是请求头中的Referer,很可能是115修改了代码,验证Header是否有Referer,有的话即返回错误。为了验证猜想,写了个VBS:

Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
http.Open "GET","http://u.115.com/?ct=upload_api&ac=get_pick_code_info&pickcode=f2dd0c3966&version=1169",False
'把下面这行注释掉就返回正确结果
http.SetRequestHeader "Referer","http://demon.tw"
http.Send
WScript.Echo http.responseText

第一次用SetRequestHeader修改了Referer,返回的错误跟Bookmarklet一样:

非法数据格式,请联系115网盘客服.code=0

而注释掉那一行,就能返回正确的结果。看来果然是115验证Referer了,而在AJAX请求中是无法修改Referer的。至于那个C#写的程序为什么也失效,我就懒得研究了,又不是我写的。

我写的《115网盘真实下载地址解析工具及其原理(VBS版)》暂时还能使用,不过估计不久也会被封杀。反正我又不用115网盘,封就封呗,对我毫无影响。如果哪天使用不了,也不用留言叫我更新了。最后,再次对雨林木风表示深深的鄙视。

随机文章:

  1. Windows 7在桌面创建宽带连接快捷方式
  2. 用VBS解析JSON格式数据之VbsJson类
  3. 配置OpenWrt防止3DS自动升级
  4. Suhosin,PHP保护神?
  5. VBScript实现ZIP文件的压缩或解压(ZipCompressor)

17 条评论 发表在“鄙视雨林木风”上

  1. 公子说道:

    鲁迅体V5= =!

  2. sophiasmth说道:

    是cookie的原因,你要把登录过的cookie发送过去就可以了
    https://chrome.google.com/extensions/detail/aiiloiffkhndoefjpciepoldngggnblb
    这是我做的chrome插件

    • Demon说道:

      不是Cookie的原因,不发送Cookie也能正确解析,但是一旦有Referer就会返回错误。

  3. sophiasmth说道:

    但是我没搞懂为啥 电信和网通的那个链接返回http 403错误 只有备份下载可以用
    U蛋也是连的那两个地址就不报http403

  4. 我装的就是,怕怕了

  5. clowwindy说道:

    这是我做的firefox扩展:
    https://addons.mozilla.org/zh-CN/firefox/addon/sm115/versions/

    其实不光是User-Agent要用优蛋的,Referer要去掉,很多其它的Header最好都屏蔽掉,去年曾经偷懒没有屏蔽全,结果过了几天就不行了,后来把Accept-Language Accept-Charset什么的全去掉,整个header弄得和优蛋完全一样了,就没有遇到什么问题了

    • Demon说道:

      昨天刚有人回复了Chrome拓展,今天又多了个FireFox拓展,凑齐了~

      不是我不想屏蔽Header,是ajax中根本屏蔽不了。

  6. Kaisir说道:

    我觉得这个项目有点意思 我也来研究看看好了啦 ~哇哈哈哈

  7. prophetk说道:

    不用115的飘过

  8. PopEye说道:

    刚才又试了下,貌似可以提取115网盘地址了,上午还不行的。只要屏蔽Http Referer请求头标域就OK了。

  9. cylisme说道:

    这回彻底死了
    开始验证登陆用户
    登录帐号和所有者不符!

    • Demon说道:

      原来也验证,只不过代码有漏洞,只能验证浏览器中的,现在补上而已。

      这种低级错误都有,再次鄙视雨林木风。

  10. 蚁族说道:

    这个是比较顶的!

留下回复