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/)>


本文来自博客园,作者:长温不喜风云,转载请注明原文链接:https://www.cnblogs.com/changwen12138/p/18987219

浙公网安备 33010602011771号