懷念過去↑文 发表于 2009-10-2 16:58:54

试听天空.歌曲采集总结

本帖最后由 懷念過去↑文 于 2009-10-2 17:02 编辑

目标站:视听天空stsky.com..

第一步分析网页源码。
在线听歌调用mediaplayer播放wma,因此首先要找到歌曲真实地址。在网页播放器上点右键->“属性”,就能看到歌曲的地址“位置: http://dns?.stsky.com/gm/xxxxx/?.wma”。
复制出来在网页中直接打开,提示错误信息转回首页。
复制在讯雷中下载,下载跳转到"error.html",也不成功。

初步怀疑歌曲地址不正确,开始仔细分析网页源码。
在线播放很明显是使用js脚本来实现功能,因此打开一个单曲播放页面,另存至本地(选网页,全部方式),在.files文件夹中看到一共有7个js脚本文件。在lrcps.js中找到了播放器的调用代码,音频文件地址部分写明为
"    <param name=\"url-:special:1:- value=-:special:1:-http://"+AuthUrl+"/gm/"+righturl+"-:special:1:->" +"\n"+
在网页源码中已经标明了<SCRIPT type=text/javascript>var righturl="17375/1.wma";</SCRIPT>
但是没有发现AuthUrl的值是多少,检查其它js文件发现skyurl.js中嵌套了一个http://www.stsky.com/js/dxsky.js脚本,用讯雷下载下来,找到了var AuthUrl = "dns9.stsky.com/";内容,原来这是简单实现多个服务器负载分流用的。有4台服务器,难怪速度非常快。
分析到此,看来歌曲地址并没有问题,只能用最笨的抓包分析来找找原因了。


第二步抓包分析

关闭所有窗口,清除IE的临时文件和cookie,打开HttpAnalyzerStdV 开始抓包。重新打开音乐页面,居然访问了好几个IP。直接排除掉广告服务器IP,计数器服务器IP等不相关因素的影响,就只有www.stsky.com和dns?.stsky.com两个站点可能存在问题。网站通常都是由cookie或session来判断,发现开始播放歌曲时,其cookie突然发生变化,增加了PIN,mtype,tflag等内容,肯定是在播放前,某个页面访问时回传了Set_cookie信息头。现在的任务就是找到这个页面。
仔细查找数据包记录,终于发现在访问http://dns?.stsky.com//getuuauthcode/页面后cookie发生了变化。这页面其实是包含在dxsky.js文件中的,当时看着JS中单独写一个网页访问感觉奇怪,现在才明白是用来防盗连用的。

第三步
火车头采集器获取COOKIE 就可以了

最后总结:大多数网站都是采取COOKIE或SESSION来检查当前来宾是否合法,SESSION也是COOKIE一种,因此只要找到关键页面预先访问一次获得COOKIE,即可合法得到所需数据。在本例中唯一不同的是最后还对客户Agent做了判断,不看数据包很难猜测。
另外,还有很多网站要判断HTTP头部的REFFER项目(引用来源),判断是否自本站所提交的请求,实际操作中可能会遇到。




孤魂:
useragent改成为个NSPlayer/11.0.6001.7006 WMFSDK/11.0

孤魂 发表于 2009-10-2 17:02:11

因为这个站的网址里面没有包含authkey的信息,所以只需要修改useragnet,加上获取到的COOKIE就可以下载了,嘿嘿,UUDOG的防盗链可以使用火车头简单破.解了!

vus520 发表于 2009-10-2 22:12:01

漏洞,漏洞。
页: [1]
查看完整版本: 试听天空.歌曲采集总结