百度100G网盘的分享功能存储型XSS及修复
![]() | ![]() | |
![]() | 今天不少群里在讨论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的字段。 图片:20121019111554843.jpg
3. 接着我们将上传的这个图片生成一个分享链接! 打开分享链接,查看源代码! 图片:20121019111555751.jpg
同样也有该md5值 4. 直接修改http://pan.baidu.com/api/create请求中,md5值为cc99e700ed6e009c7d08ce4117179a5c</script>。再看看分享页面 图片:20121019111555421.jpg
未做任何过滤。 5. 构造利用代码,调用外部JS 图片:20121019111555972.jpg
修复方案: 对http://pan.baidu.com/api/create请求中,block_list中的md5值进行正则判断。 | |
![]() | ![]() |