基于皮卡丘靶场的学习——XSS

1、反射型xss(get)

尝试输入后发现有提示,还是无过滤的,那就直接写JavaScript弹窗试试

image-20230302115125745

发现输入框有长度限制,那就直接右键检查直接改就完事;

<script>alert("xss")</script>

image-20230302115206587

发送后成功弹窗;

image-20230302115236093

2、反射性xss(post)

image-20230302115816172

打开后发现需要登录,那就登录他的默认账号,admin,123456;又看到熟悉的输入框,直接构造JavaScript

<script>alert("xss")</script>

语句 弹窗直接尝试;

image-20230302115955522

3、存储型xss

打开后发现是一个留言板,众所周知在xss中,留言板是最容易产生的地方,只要后台管理员在审核留言的时候就可能会产生xss攻击,攻击人通常会伪造xss反弹管理员的cookie从而进入后台;接下来我们看看这题

image-20230302120307465

先试试直接的JavaScript弹窗有没有效果:

image-20230302120413823

成功弹窗。而储存型的xss攻击危害很大,每次打开页面都会产生攻击行为;因此在开发时储存类信息显示要做些限制,或者转义;

4、DOM型xss

输入测试后发现被拼接成了一个a标签的跳转image-20230302121005143

那么我们也可以同样使用拼接,使用sql注入类似的原来,使用onmouseover事件达到产生xss攻击的效果

#' onmouseover = alert("c3ting")>

image-20230302121806333

5、DOM型xss-X

image-20230302125419453

同样的拼接绕过就可以了

' onmouseover = alert("c3ting")>

image-20230302125501459

6、xss盲打

image-20230302125733949

<script>alert("xss")</script>

打开后发现为xss的应用,即可直接使用xss弹出,然后根据提示登录后台:admin.php

image-20230302125839605

攻击成功

7、xss之过滤

经过多次尝试发现过滤了<script但是可以使用img的语法直接使它弹窗也是可以达到xss攻击的效果

<img src="" onerror=alert('xss')>

image-20230302130626324

8、xss之htmlspecialchars

htmlspecialchars() 是PHP里面把预定义的字符转换为HTML实体的函数

' onclick=alert(/xss/) '

image-20230302130812255

9、xss之href输出

在href中javascript可执行JavaScript,同样也是可以实现xss攻击的直接构造payload

javascript:alert(/test/)

image-20230302131048086

10、xss之js输出

在构造正常的JavaScript弹窗后,发现被js包含了,那就可以在来一个js的结尾,绕过这个内置的js

image-20230302131308778

</script><script>alert('xss')</script>

image-20230302131427593

image-20230302131447651