pikachu靶场之XSS(反射性、存储型、DOM型)
pikachu靶场之XSS攻击
一、反射性xss(get)
- 首先输入" ’ <>xss"用于测试我们的输入会不会被过滤掉,因为输入的内容中存在特殊字符。
- 输入js脚本
<script>alert('xss')</script>
,看是否被过滤,发现对输入的内容有长度限制,在页面找到开发者工具,修改即可。修改后提交,恶意代码执行,成功弹窗。
二、存储型xss
- 一般都是在留言板内,把内容保存在数据库,这样每次访问这个页面就会触发xss攻击。
可以通过恶意js代码<script>alert(document.cookie)</script>
获取页面的cookie值
三、DOM型xss
- 先输入" ’ <> dsadsad"查看对特殊字符是否有过滤,发现前面的被过滤掉
在输入<script>alert('xss')</script>
查看结果
2. 查看页面源代码
var str = document.getElementById(“text”).value;和 <input id=“text” name=“text” type=“text” value="" / > 意思是把我们输入的东西(字符串)赋值给str,然后document.getElementById(“dom”).innerHTML = “< a href=’”+str+"’>what do you see?< /a > "; 把这个字符串整合到a这个标签中的href(属性)里再把a标签写到dom这个标签中。最后< div id=“dom” >< /div > 执行这个dom标签
3. 构造恶意代码#' onclick=alert("xss")>
,成功弹窗。