DVWA-Command Injection

命令注入:

  * 但随着IT技术的飞速发展,“计算机”的形态多种多样(大型服务器、PC机、智能终端等等,以及运行其上的形形色色的应用),不同角色的人在计算机系统中所扮演的角色各异(开发者、维护者、高级用户、普通用户、管理者等等)。
  * 这些场景中,数据甚至指令通常都无法事先固化,需要在运行的过程中动态输入。如果这两者混杂在一块,没有经过良好的组织,就会被黑客加以利用,成为一种典型的攻击方式——命令注入。
  * 命令注入攻击的常见模式为:仅仅需要输入数据的场合,**却伴随着数据同时输入了恶意代码**,而装载数据的系统对此并未设计良好的过滤过程,导致恶意代码也一并执行,最终**导致信息泄露或者正常数据的破坏**。

简单版:

  1.进行代码审计:

DVWA-Command Injection
* 由图可知没有进行任何的参数校验;
* 因此可以输入一些代码,里获取我们想要的数据:

  2.进行测试:

DVWA-Command Injection

  • 这里我输入了127.0.0.1&&pwd直接暴露出当前路径;

中等版:

  1.进行代码审计:

DVWA-Command Injection

  • 在这里发现系统对&&和;进行了空格过滤;但是仍有其他命令未进行过滤;(比如& ||);

  2.进行测试:

DVWA-Command Injection

  在这里用127.0.0.1&&pwd是不可行的(没有反应)将其改为127.0.0.1&pwd出现上面的结果;

注意的是”&&”与” &”的区别:

Command 1&&Command 2

先执行Command 1,执行成功后执行Command 2,否则不执行Command 2

Command 1&Command 2

先执行Command 1,不管是否成功,都会执行Command 2

高等版:

  1.代码审计:

DVWA-Command Injection

  • 黑名单数量增多,但是,有一个细节
    DVWA-Command Injection

  |后面多了一个空格,这就是等于没有过滤|呗!!!(注意是英文的|)

DVWA-Command Injection

  * 输入127.0.0.1|pwd,直接暴露路径

不可能版:

  1.代码审计:

DVWA-Command Injection

这段代码的意思是将ip分为四个部分,每一部分只允许数字。。。。

上一篇:学习DVWA XSS系列 先看这一篇文章 个人笔记


下一篇:dvwa-sql注入