Dvwa之Command Injection命令执行

LOW

登录Dvwa后,找到安全性,设置为low

点开命令执行页面,可以看到当前安全性为low

当前页面展示的内容为执行ping命令,让你输入一个IP来检测是否与外界相通,许多设备例如路由器交换机内部都会有这样的功能,就相当于打开cmd执行ping命令

可以看到我们输入本地地址后,成功执行

接下来,我们尝试输入别的命令看是否能执行

我们输入127.0.0.1 & whoami,可以看到在下面出现了返回值

这个就是同时执行了ping命令和whoami命令

我们查看源码来看看他的代码是如何写的

点击下面的View Source

可以通过代码简略的看出来这里就是执行ping命令,而且没有对特殊字符有任何的转义或替换,所以我们执行成功了

Medium

我们把安全性调到Medium,然后再次执行

发现还是可以执行成功,接下来我们查看源码

这里发现只有输入&&和;的时候会替换成空,所以我们改变一下语句,当我们执行完成后发现并没有返回whoami的结果,这就说明我们输入的&&被替换成了空,后面的语句没有成功执行

high

这次我们把安全性调整到high,再次输入刚才的语句

这次我们发现无论是输入127.0.0.1 & whoami 还是127.0.0.1 && whoami都没有执行后面的语句,我们查看一下源码

源码中把这些字符都替换成了空,那这样的话我们是不是就没办法继续进行下去了呢,其实不然,我们自己观察一下图中第三排的位置,发现这里面替换成空的不是|,而是后面多了个空格

接下来我们尝试一下加空格返回什么

发现加了空格后没有任何返回值,我们把空格去掉发现可以执行后面的命令了

有的程序员在写代码的时候会下意识的敲空格,这也说明我们在编写代码时一定要严谨,多一个空格网站可能就多了一分危险

在白盒测试中我们可以看到代码,然后找到问题所在,但是在黑盒测试中,我们无法看到源代码,就需要多多尝试

Impossible

在这个安全性下,我们想找到问题是不太可能的,我们就直接看源码,看看他是如何防护的

可以看到他先把输入的数据根据.分开,输入的127.0.0.1会被分成四个部分,然后分别判断四个部分是不是都是数字,验证完成后再拼接起来变成正常的ip,经过这样的验证,网站的安全性会大大的增强

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值