DVWA-command injection

1、command injection
漏洞介绍:
**漏洞产生的原因:**程序中的某些功能需要执行系统命令,并通过网页传递参数到后台执行。然而最根本的原因是没有对输入框中的内容做代码过滤,正常情况下输入框只能接收指定类型的数据。
漏洞影响:命令注入漏洞可以使攻击在受攻击的服务器上执行任何命令。
需要用到的知识
&&:前一个指令执行成功,后面的指令才继续执行,就像进行与操作一样
||:前一个命令执行失败,后面的才继续执行,类似于或操作
&:直接连接多个命令
|:管道符,将前一个命令的输出作为下一个命令的输入
;:直接连接多个命令
解决乱码问题(后期补充)解决此问题的方法:在DVWA-master\dvwa\includes目录下找到dvwaPage.inc.php文件中所有的”charset=utf-8”,修改”charset=gb2312”,即可。
在这里插入图片描述
解决此问题的方法:在DVWA-master\dvwa\includes目录下找到dvwaPage.inc.php文件中所有的”charset=utf-8”,修改”charset=gb2312”,即可。在这里插入图片描述
(一)Low
在这里插入图片描述
函数说明:shell_exec将所有输出流作为字符串返回。exec默认情况下返回输出的最后一行,但可以将所有输出提供为指定为第二个参数的数组。
shell_exec- 通过shell执行命令并将完整输出作为字符串返回
exec - 执行外部程序。
不同之处在于,shell_exec您将输出作为返回值。
说明:从此处可以看出代码并没有对submit提交的数据进行任何的处理
输入:在这里插入图片描述
对应于:在这里插入图片描述
(二)medium
在这里插入图片描述
说明PHP过滤了&&和;
由于&&和;被过滤所以我们考虑用||,但是使用这个的前提是前一个条件错误
在这里插入图片描述
(三)high
在这里插入图片描述
这里添加的黑名单变多单是可以看出|中多了一个空格所以|能够正常使用,因此当输入”127.0.0.1|whomai”,一样可以攻击,”|”是管道符,意思是将前者处理后的结果作为参数传给后者。在这里插入图片描述
(四)impossible
再来看一下impossible的源码,看看别人是如何防范的:在这里插入图片描述先将ip地址用点分为一个数组,然后判断每一位是否是数字,如果是数字,然后再把他们拼起来。针对特定命令有特定的防范措施,这样才能最大限度的降低漏洞产生的可能性
语法说明:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值