您现在的位置是:首页 > 学无止境 > Web网站首页Web 命令执行漏洞-DVWA

命令执行漏洞-DVWA

  • 莫愁
  • Web
  • 2019-06-11
简介命令执行漏洞产生原因:开发人员没有对特殊函数入口做过滤,导致用户可以提交恶意代码并提交服务端执行或Web服务器没有过滤危险函数导致命令执行漏洞攻击成功。
字数 1634.5

一、进入DVWA测试系统

选择左侧Command(命令注入)菜单,内容页显示为:

页面

二、实验步骤:

2.1 Command Injection(Low 级别)

a) 初步分析

初步测试表单功能:输入127.0.0.1,看结果,如果浏览器为乱码,那就到DVWA的配置文件(\dvwa\includes\dvwaPage.inc.php)中修改编码方式,将原来的utf-8改为gkb,如下图修改编码方式:编码修改

 

输入IP后结果显示为:

ping 127.0.0.1

 

如果什么都不输入,直接点击Submit按钮,会给出ping –h的结果

ping –h的结果

 

很显然,该表单的意思是让我们输入一个IP地址来实现ping,我们知道执行PING命令是肯定会调用系统命令执行的。

为此,我们需要另外dos命令的相关知识,参考网址:https://blog.csdn.net/muximuxi_kgsecond/article/details/8127345。

这里针对实验重点强调& &&  |  || 四种拼接命令拼接方式。

命令 解释

A&B

顺序执行多条命令,而不管命令是否执行成功

A&&B

顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令

A|B

管道命令,如:dir *.* /s/a | find /c \".exe\" 表示:先执行 dir 命令,对其输出的结果执行后面的 find 命令

A||B

顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令

 

b)输入命令:

在windows上体验一下多条命令执行的情况,如输入

ping 127.0.0.1&&whoami ,表示当第一条命令执行完成过后,才执行第二条命令,whoami是用于显示当前用户

ping 127.0.0.1 || whoami ,表示当第一条命令执行失败之后,才执行第二条命令

 

那么现在可以尝试通过表单,输入:127.0.0.1&&whoami,将当前主机的用户显示出来。(备注,针对网页)

127.0.0.1&&whoami

 

可以看出我们可以通过&&输入更多的命令,如输入:127.0.0.1 && net user,请查看结果试试

127.0.0.1&&net user

2.2 Command Injection(Medium 级别)

a)源代码分析

Medium

 

可以看到,将&& 和 ; 替换成了空,可以阻止拼接,但是从上面的表格中可以分析到过滤规则并不完善,我们可以试一试 || 或者 & 或者|

不仅如此,我们是否可以通过构造的方式来进行绕过,就如同XSS那一节讲的内容。

b)输入命令

输入:127.0.0.1 & net user 看看结果是否与预期一致

Medium测试

输入:127.0.0.1 &;&  net user 看看结果是否与预期一致

 

2.3 Command Injection (High 级别)

a)分析源代码

High

 

可以看到,过滤规则增多了,增加了绕过的难度了,但不难发现其中“| ”被替换为空,这个地方就是可以绕过的点了。

b)命令测试

输入构造的命令看看:127.0.0.1 |net user  ,这个命令的意思是执行ping后的结果作为后面的输入,但后面用不着。同时可以看到|后面没有空格,所以不会被替换为空,从而实现对过滤规则的绕过。看看结果呢!

命令执行漏洞——DVWA

 

2.4 Command Injection (Impassible 级别)

a)源代码分析

Impassible代码

分析:

stripslashes将数据去除反斜杠

explode将数据按照.进行分割

is_numeric判断是否都为数字

sizeof计算数组大小是否满足IPV4

然后才让执行

b)分析该方式的好处,白名单和黑名单。

通过分析,我们可以发现这个是属于白名单类型,虽然stripslashes是过滤掉反斜杠,有点黑名单的意思,但是这里主要考虑的是白名单模式。


转载: 感谢您对莫愁个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源莫愁个人博客 https://www.mochoublog.com/study/253.html”。

文章评论

    • 评论
    人参与,条评论

技术在线

服务时间

周一至周日 12:00-22:00

关闭下雪
关闭背景特效