今天不少群里在讨论100G的百度网盘,也有不少人为了做任务,给其他人发分享链接的!如果这个分享页面存在XSS,受众还是挺广的么!!再加上,在百度贴吧留链接的!邮箱留种子的.... 在这个百度网盘正处于活动任务宣传期的阶段!!挺有意思的!
详细说明:1. 首先我随便上传了一张图片,抓了下包!
2. 可以看到主要是2个请求。
请求一:上传文件的请求。
http://pcs.baidu.com/rest/2.0/pcs/file?method=upload;type=tmpfile;app_id=250528;BDUSS=56ZGZCbFBzYmlXWUlucDhpNU96WllJeDB0UEltN1pPSnlmYTAtMjNZTll0Q3RSQVFBQUFBJCQAAAAAAAAAAAomjxcmmz8AZ2Fpbm92ZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAYIArMAAAAOAqJXUAAAAAmWdCAAAAAAAxMC4zNi4xNFhmPlBYZj5QTk
返回的内容是一个MD5值:
{"md5":"cc99e700ed6e009c7d08ce4117179a5c","request_id":3976866536}
请求二:
http://pan.baidu.com/api/create?a=commit;channel=chunlei;clienttype=0;web=1
path /2.jpg
isdir 0
size 4711
block_list ["cc99e700ed6e009c7d08ce4117179a5c"]
method post
可以看到,发送的参数里有一个MD5的字段。
3. 接着我们将上传的这个图片生成一个分享链接!
打开分享链接,查看源代码!
同样也有该md5值
4. 直接修改http://pan.baidu.com/api/create请求中,md5值为cc99e700ed6e009c7d08ce4117179a5c</script>。再看看分享页面
未做任何过滤。
5. 构造利用代码,调用外部JS
修复方案:
对http://pan.baidu.com/api/create请求中,block_list中的md5值进行正则判断。