php代码审计——DVWA

1.命令注入:

LOW等级:

输入没有任何限制,可以直接ping;

Medium等级:

 

介绍一下str_replace()函数和array_key()函数:

Str_replace(str1,str2,str3):将str3中的str1替换成str2.

Array_key():返回数组中的键值。

 所以上述代码的意思就是把&&和;过滤掉了,但是这很容易绕过,我们输入&;&就可以ping命令了。

 High等级:

从上述代码可以看到,已经几乎过滤掉所有关键字,但是我们还是可以想办法绕过:

可以看到'| '后有空格,所以我们可以构造127.0.0.1|||ping xxx.com这样的语句进行绕过:

 总结:high等级虽然用白名单过滤掉所有关键字,但是还是能绕过去,由此可见白名单并不安全,应当采用黑名单。

2.反射性XSS:

Medium等级:

从上图可以看到,它将<script>过滤掉了,但是也只是过滤掉了<script>,而且str_replacce()函数对大小写是进行区分的,所以我们可以用<img>标签 或者<Script>来绕过;

High等级

先说下preg_replace()函数:

preg_replace(str1,str2,str3):将str3中的str1替换成str2.

由上图可知,这是讲<script>过滤掉,并且不区分大小写。但是我们让然可以绕过,使用<img>标签就可以了。

存储型XSS和反射性一样,这里就不作分析了。

 

转载于:https://www.cnblogs.com/xiaoqiyue/p/10548933.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值