<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>Insert title here</title>
</head>
<script>
function test(){
var src = document.getElementById("text").value;
document.getElementById("a").innerHTML = "<a href='"+src+"'> testLink </a>";
}
</script>
<body>
<div id="a"></div>
<input type="text" id="text" value="" />
<input type="button" id="b" value="write" οnclick="test()" />
</body>
</html>
1.构造一个新事件:
文本框中输入 ' οnclick=alert('xss') //
后点击链接会自动执行alert('xss')
分析:第一个 ' 是为了闭合源码中的 ' 因为自己添加了一个 ' ,所以要用 // 注释掉源码中的 '
2.闭合掉<a :
输入: '><img src=# οnerrοr=alert('xss') /> <'
分析:#是占位符,相当于这个图片的链接是空链接, onerror 在找不到资源是被调用