XSS攻击

Webgoat

第1题

输入tom然后登入

然后更改编辑文件

更改street内容为<script>alert(/hyh/)</script>

然后点击EditProfile

第5题

用tom登录

下一步点检查

输入tom

然后在回到检查页面输入<script>alert(/hyh/)</script>

DVWA

XSS(DOM)

LOW

1.观察界面,当选择不同的标签时,URL栏中的default也会发生变化

2.在default后面输入xss代码<script>alert(/hyh/)</script>

Medium

1.选择French

2.传入xss代码,当我们传入<script>alert(/hyh/)</script>时,会强制跳转到French

3.查看源代码

array_key_exists() 函数检查某个数组中是否存在指定的键名,如果键名存在返回 true,键名不存在则返回 false。

stripos() 函数查找字符串在另一字符串中第一次出现的位置

返回值:返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE

4.传入事件型<img src=# onerror=alert(/hyh/)>

按住F12产看页面代码

发现输入的值在select标签里面

闭合标签</select><img src=# onerror=alert(/hyh/)>

High

1.直接查看源代码分析

switch条件判断,当default传参值为其他值是 默认选择为English

2.使用锚部分弹窗

XSS(Reflected)

Low

1.在url也就是网址栏输入自己的名字缩写

无论我们输入什么值,在页面中都会显示输入的信息,并且url的name传参值就是我们输入的值

2.对URL中的name传入 xss代码<script>alert(/hyh/)</script>

Medium

1.同样对name传入xss代码

发现没有script代码了

2.查看源码信息

str_replace函数替换字符串中的一些字符

str_replace(find,replace,string)

返回带有替换值的字符串或数组

将<script>标签替换为空

3.传入构造代码<scr<script>ipt>alert(/hyh/)</script>

High

1.传入参数后传参XSS代码

2.分析源代码

对<script>使用了正则表达式替换

3.使用事件型XSS代码<img src=1 οnerrοr=alert(/hyh/)>

XSS(Stored)

Low

1.发现输入的内容被进行了存储

2.输入xss代码<script>alert(/hyh/)</script>

发现name处存在字符限制

查看源代码发现限制为前端限制

3.修改最大长度的值就可以了

Medium

1.同样先修改字符限制,在写入XSS代码

<script>标签被过滤了

2.使用双写<scri<script>pt>alert(/hyh)</script>

High

1.直接传入第二关的XSS双写代码

这里有问题

2.尝试使用事件型<img src=1 onerror=alert(/hyh/)>

posted @ 2025-07-16 12:01  长温不喜风云  阅读(22)  评论(0)    收藏  举报