一. 漏洞描述
该漏洞是由于JavaScript获取url的参数,没有经过任何过滤直接当作a标签和img标签的href属性和src属性输出
二. 漏洞复现
-
需要开启会员空间功能,登录后台开启会员空间功能(系统设置>用户设置>开启会员空间)
-
漏洞出现的我位置是/e/Viewimg/index.html 浏览代码,发现代码存在漏洞
分析代码:通过Request函数获取地址栏的url,并作为img和a标签的src属性和href属性然后经过document.with输出到页面
-
跟进Request函数
分析代码:通过windows.location获取当前url地址,根据传入的url参数,获取当前参数的起始位置和结束位置
例如,地址是index.html?url=JavaScript:alert(document.cookie)
经过Request函数处理就变成了JavaScript:alert(document.cookie
)
-
url地址经过Request函数处理之后,然后把url地址中的参数和值部分直接拼接当作a标签的href属性的值和img
标签的src标签的值
-
通过上面分析,可以发现代码没有对url的参数做过滤就直接拼接成a和img标签的属性的值,因此可以构造
payload:?url=JavaScript:alert(/xss/)
-
浏览器访问
http://localhost:84/upload/e/Viewimg/index.html?url=javascript:alert(/xss/)
点击图片便可触发