DVWA--Command Injection

本文介绍了命令行注入攻击的不同级别及其利用方式,包括利用&&、|、;等连接符执行恶意命令。针对不同防御级别,提出了绕过过滤的解决方案,强调了过滤不严可能导致的安全风险。解决方案包括使用未过滤的连接符如&来执行命令,以及利用管道符号|绕过过滤。总结指出,在执行命令时应加强连接符的过滤,防止命令行注入。
摘要由CSDN通过智能技术生成
  1. Command Injection

命令行注入是利用系统弱点获取对系统的访问权限,以执行恶意代码、获取用户数据和参与其他活动。命令行注入常用的参数有&&、&、|、||、;、%0a(换行符的URL编码)

1.;
各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。
2.&&
若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。
3.||
||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。
4.|
|是管道符号。管道符号改变标准输入的源或者是标准输出的目的地。
5.&
&是后台任务符号。 后台任务符号使shell在后台执行该任务,这样用户就可以立即得到一个提示符并继续其他工作。
6.%0a
因为%0a是url编码,所以一定要输在url中,否则%0a会被再次编码

 

命令行注入low任务分析通过代码审计可得知该段代码主要功能是实现ping命令我们可以利用其执行其他cmd命令

 

解决方案由于缺少过滤我们可以采用连接符&&的方式来查询我们想得到的信息如ifconfigifconfig命令是linux系统中的shell命令,可以帮助用户查看网络状况,可以看到你想看到的众多网络信息,比如延迟,IP,主机信息,物理地址信息等等。

命令行注入medium任务分析:通过代码审计可得知该级别与low级别功能相同但是增加了过滤手段即把&&;过滤为空

 

解决方案虽然有了过滤的加入但是过滤的并不全面所以我们可采用其他手段进行绕过&

实施过程:127.0.0.1&ifconfig

运行结果

 命令行注入(high)任务分析:通过代码审计可以得知该级别在medium的基础上再次新增了过滤的规则

解决方案:虽然进一步更新了过滤的规则,但是从代码可以看出'|  '中间存在一个空格,所以我们在绕过时不加空格即可实现

实施过程:127.0.0.1|ifconfig

运行结果:

小结:在执行cmd命令时应注意过滤连接符,如过滤不严谨,容易导致cmd命令被恶意调用执行。 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值