DVWA之命令注入

DVWA之命令注入

Low

在这里插入图片描述

查看源码:

在这里插入图片描述

ip参数没有做任何的过滤就直接放在shell_exec函数中执行了,执行语句为shell_exec( 'ping 127.0.0.1 && whami ')。(linux下使用whoami查看用户命令,windows使用net user)

low级别的代码接收了用户输入的ip,然后根据服务器是否是Windows NT系统,对目标ip进行不同的ping测试。但是这里对用户输入的ip并没有进行任何的过滤,所以我们可以进行命令执行漏洞

函数:
stristr(string,search,before_search):
其中string参数是被搜索字符串,参数search是要搜索的字符串,berfore_search是布尔型,可以选择true或false,默认情况下是false,比如stristr(“you are hacker!”,”HaCKer”),返回hacker!,若是search_before设置为true,则返回为you are

Php_uname(mode):

Mode是有选择项的单个字符,用于决定要返回信息内容

  • ‘a’:默认参数,包含序列”s n r v m ”里的所有模式
  • ‘s’返回系统名称。
  • ‘n’ :返回主机名。
  • ’r’:返回版本名称。
  • ‘v’:返回版本信息。
  • ‘m’:返回机器类型。

命令连接字符串&,&&,|,||:

  • command1 & command2 在“and”,其连接的两个命令,先执行command2,再执行command1
    在这里插入图片描述
  • command1 && command2 执行command1后执行command2
    在这里插入图片描述
  • command1 | command2 只执行command2
    在这里插入图片描述
  • command1 || command2 只执行command1
    在这里插入图片描述
    也可以使用command1 ; command2 两个命令执行,类似&&命令

Medium

查看源码:
在这里插入图片描述
由以上waf可知,此waf只是过滤了 “&&”和”;”这两个特殊字符,所以,可以通过使用”&“,”|”,”||”绕过

High

查看源码:
在这里插入图片描述

此waf将”&”,”;”,”| ”,”-”,”$”,”(”,”)”,”`”,”||”这些字符直接全部转换成空格
仔细观察,可以发现”| ”中,| 后面有一个空字符,因此,可以使用”|”进行绕过
在这里插入图片描述
漏洞利用:
在这里插入图片描述

Impossible

查看源码:
在这里插入图片描述
stripslashes(string) : 该函数会删除字符串string中的反斜杠,返回已剥离反斜杠的字符串。
explode(separator,string,limit): 该函数把字符串打散为数组,返回字符串的数组。参数separator规定在哪里分割字符串,参数string是要分割的字符串,可选参数limit规定所返回的数组元素的数目。
is_numeric(string): 该检测string是否为数字或数字字符串,如果是返回TRUE,否则返回FALSE。
可以看到,Impossible级别的代码加入了Anti-CSRF token,同时对参数ip进行了严格的限制,只有诸如“数字.数字.数字.数字”的输入才会被接收执行,因此不存在命令注入漏洞。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值