基于皮卡丘靶场的学习——XSS
1、反射型xss(get)
尝试输入后发现有提示,还是无过滤的,那就直接写JavaScript弹窗试试
发现输入框有长度限制,那就直接右键检查直接改就完事;
<script>alert("xss")</script>
发送后成功弹窗;
2、反射性xss(post)
打开后发现需要登录,那就登录他的默认账号,admin,123456;又看到熟悉的输入框,直接构造JavaScript
<script>alert("xss")</script>
语句 弹窗直接尝试;
3、存储型xss
打开后发现是一个留言板,众所周知在xss中,留言板是最容易产生的地方,只要后台管理员在审核留言的时候就可能会产生xss攻击,攻击人通常会伪造xss反弹管理员的cookie从而进入后台;接下来我们看看这题
先试试直接的JavaScript弹窗有没有效果:
成功弹窗。而储存型的xss攻击危害很大,每次打开页面都会产生攻击行为;因此在开发时储存类信息显示要做些限制,或者转义;
4、DOM型xss
输入测试后发现被拼接成了一个a标签的跳转
那么我们也可以同样使用拼接,使用sql注入类似的原来,使用onmouseover事件达到产生xss攻击的效果
#' onmouseover = alert("c3ting")>
5、DOM型xss-X
同样的拼接绕过就可以了
' onmouseover = alert("c3ting")>
6、xss盲打
<script>alert("xss")</script>
打开后发现为xss的应用,即可直接使用xss弹出,然后根据提示登录后台:admin.php
攻击成功
7、xss之过滤
经过多次尝试发现过滤了<script
但是可以使用img的语法直接使它弹窗也是可以达到xss攻击的效果
<img src="" onerror=alert('xss')>
8、xss之htmlspecialchars
htmlspecialchars()
是PHP里面把预定义的字符转换为HTML实体的函数
' onclick=alert(/xss/) '
9、xss之href输出
在href中javascript可执行JavaScript,同样也是可以实现xss攻击的直接构造payload
javascript:alert(/test/)
10、xss之js输出
在构造正常的JavaScript弹窗后,发现被js包含了,那就可以在来一个js的结尾,绕过这个内置的js
</script><script>alert('xss')</script>