Low等级
查看代码如图1,发现Low等级的源代码中没有对输入的值进行过滤,所以存在命令注入漏洞。
图1
输入127.0.0.1,运行结果如图1.1所示
图1.1
可以发现与windows主机中的cmd命令窗口执行ping 127.0.0.1后一致Windows执行的结果如图1.2,因此可以发现此页面是执行ping命令。
图1.2
在DVWA中输入127.0.0.1 && ipconfig,并且点击运行,具体运行结果如图。
图1.3(127.0.0.1 && ipconfig)
可以发现该页面原本的业务是执行ping命令,但是通过&&符号连接ipconfig时,发现在执行原本的ping命令时还执行了ipconfig命令,因此该页面存在命令注入的漏洞。使用&&、&、||以及|符号来连接命令,具体的运行如图所示。
图1.4(127.0.0.1 & ipconfig)
图1.5(127.0.0.1 || ipconfig)
图1.5(127.0.0.1 | ipconfig)
结果多次的试验发现:
①&&符号前面的命令为错误的时候,该命令直接报错,不运行后面的代码,直接报错;而&&符号前面命令正确时,先执行完前面的命令,然后再检查并执行后面的命令,如果后面的命令为错误的时候,就只执行完&&前面的语句,而把后面的命令直接报错。
关于&&符号的详细的证明过程如图1.6-1.8所示:
图1.6(&&符号前面为正确,而后面的符号为错误)
图1.7(&&符号前面为错误,而后面的符号为正确)
图1.8(&&符号前面为正确,而后面的符号为正确)
②&符号不管前面的命令是否错误,后面的命令还会去检查并执行。
关于&&符号的详细的证明过程如图1.9-1.11所示:
图1.9(&符号前面为错误,&符号后面为正确)
图1.10(&符号前面为正确,&符号后面为错误)
图1.11(&符号前后命令都为正确)
③||符号在前一个命令为正确的时候,就只执行前面的命令;如果前面的命令为错误的时候,就检查并运行后面的命令;如果两个命令都是错误的,就无法运行。
关于||符号的详细信息的证明过程如图1.12-1.14所示:
图1.12(两个命令都是正确)
图1.13(前一个命令是错误的,后一个的命令是正确的)
图1.14(两个命令都是错误)
Medium等级
查看代码如图2,发现虽然对输入的值有一些过滤,但是发现只是对‘&&’和‘;’进行过滤而已,我们可以采用‘&’、‘||’和‘|’来进行命令的注入。
图2
这里就使用‘&’符号进行注入攻击,具体运行结果如图2.1所示,具体的运行分析因为在Low等级中已经细说了,这里就不再重复了。
图2.1(127.0.0.1 & ipconfig)
High等级
查看代码如图2.2,发现虽然过滤的值变多了,但是并没有对‘|’进行过滤,而是对‘| ’进行过滤,请注意,这里的‘| ’是多了个空格的,即对‘|’不带空格的并没有过滤,因此还是存在命令注入漏洞。
图2.2
因此这里使用‘|’进行命令注入,运行图如图2.3所示
图2.3(127.0.0.1 |ipconfig)
Impossible等级的修复方法
查看代码如图3,发现对参数的过滤变得更加严格,他是先将检查token的值,防止CSRF攻击,然后有对输入的参数根据’.’进行拆分,如果拆分发现你输入的不是数字或者’.’输入的注入命令就直接被“杀掉了”,而且还考虑到输入的参数形式。该Impossible等级的防范对命令注入十分有效,就我目前对命令注入的知识来说,不存在漏洞。
如图3
4.额外部分
查看当前有那些用户(net user),运行图如图4所示:
图4
给win 7 添加一个用户(127.0.0.1 && net user xxx622 password /add),运行图如图4.1所示:
图4.1
查看是否添加成功(127.0.0.1 && net user),运行如图4.2所示
图4.2
查看是不是普通的用户,如图4.3所示
图4.3
将普通用户提权为系统管理员,如图4.4所示
图4.4
查看是否提权成功,如图4.5所示
图4.5
开启3389端口前需要看是否已经开启3389端口,具体运行图4.6如所示
图4.6
发现3389已经开启了,所以需要先关闭,运行如图4.7所示
图4.7
查看3389端口是否关闭成功,运行如图4.8所示
图4.8
开启3389端口,运行如图4.9所示:
图4.9
查看是否开启正常,运行如图4.10所示
图4.10
使用kail里面的rdesktop程序开启远程桌面,具体步骤如图4.11所示
图4.11(在shell命令框中输入rdesktop 靶机ip地址之后的运行图)
等待上图代码运行成功之后会自动跳转出如图4.12所示的靶机登录窗口
图4.12(登陆页面窗口)
输入正确的账号密码后,即可登录成功,具体运行如图4.13-4.14所示
图4.13(登录图)
图4.14(登录成功之后的图)