DVWA-Command injection
一、什么是命令注入
命令注入是一种安全漏洞,发生在未对用户输入做出限制而直接拼接用户输入,攻击者可以利用命令注入漏洞执行任意命令,使用特殊符号(&、&&、|和||)绕过预期命令并执行其他命令
二、命令注入实践(DVWA)
1、级别Low
查看源码,发现这段代码在ping语句后面未做任何监测
使用命令ping 127.0.0.1 & whoami
测试,在执行ping127.0.0.1的同时执行后面拼接的命令
2、级别Medium
查看源码,发现这么段代码对输入做了简单的防护,把&&
和;
转换成空格,使命令失效,但并未对||
和|
做防护,所有可以使用||
或|
使用命令127.0.0.1 | whoami
测试,直接执行whoami
3、级别High
查看源码,增加被限制的特殊符号,但在|
处多了一个空格
使用命令127.0.0.1 |whoami
测试,仍然能执行whoami(注意空格)
4、级别Impossible
查看源码,这段代码拆分了用户输入的IP地址,并分别判断每位是否是数字且是否有其他参数,然后再组合成IP地址执行相关操作,规避注入的风险。