美文网首页
03.DVWA之命令注入

03.DVWA之命令注入

作者: imsilence | 来源:发表于2019-02-16 18:18 被阅读1次

漏洞概述

命令注入是指在易受攻击的应用程序中注入和执行攻击者指定的命令,执行的命令具有与web服务相同的权限和环境。

测试工具

firefox浏览器

测试方法

LOW级别

  1. 设置DVWA安全级别为LOW

  2. 使用firefox浏览器发起登陆请求

    分别填写以下提交数据:

    • 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
    03.01.png 03.02.png 03.03.png
  3. 分析结果

    在包含注入命令数据提交后可根据回显结果是否包含执行命令结果特征进行判断是否存在注入命令漏洞,例如在输入命令中包含id的数据,查看响应结果是否包含uid和gid

  4. 代码分析

    03.04.png

    说明:

    执行过程直接将输入数据拼写到字符串中进行命令执行,无任何保护措施,可尝试任意可执行的命令(包括反弹shell)

  5. 自编Python脚本进行命令注入

    03.05.png

    使用:

    • 从浏览器中copy登陆成功后的cookie信息
    • 使用python3运行脚本

    说明:

    • 使用requests发送请求到dvwa,在提交时使用具有注入命令的参数,通过注入命令执行结果特征码进行识别是否具有漏洞

MEDIUM级别

  1. 设置DVWA安全级别为Medium

  2. 使用firefox浏览器发起登陆请求

    分别填写以下提交数据:

    • 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
    03.06.png 03.07.png
  3. 分析结果

    在包含注入命令数据提交后可根据回显结果是否包含执行命令结果特征进行判断是否存在注入命令漏洞,例如在输入命令中包含net user的数据,查看响应结果是否包含administrator

  4. 代码分析

    03.08.png

    说明:

    针对输入数据删除&&和;

  5. 自编Python脚本进行命令注入

    03.09.png

    使用:

    • 从浏览器中copy登陆成功后的cookie信息
    • 使用python3运行脚本

    说明:

    • 使用线程池机制同时发起多个请求
    • 使用requests发送请求到dvwa,在提交时使用具有注入命令的参数,通过注入命令执行结果特征码进行识别是否具有漏洞

HIGH级别

  1. 设置DVWA安全级别为High

  2. 使用firefox浏览器发起登陆请求

    分别填写以下提交数据:

    • 127.0.0.1|id
    • testcmdinjection|net user
    03.10.png 03.11.png
  3. 分析结果

    在包含注入命令数据提交后可根据回显结果是否包含执行命令结果特征进行判断是否存在注入命令漏洞,例如在输入命令中包含net user的数据,查看响应结果是否包含administrator

  4. 代码分析

    03.12.png

    说明:

    针对输入数据删除&、;、-、$、(、)、`、||、|空格等字符(注意删除|空格,对|并不进行处理)

  5. 自编Python脚本暴力破解

    03.13.png

    使用:

    • 从浏览器中copy登陆成功后的cookie信息
    • 使用python3运行脚本

    说明:

    • 使用线程池机制同时发起多个请求
    • 使用requests发送请求到dvwa,在提交时使用具有注入命令的参数,通过注入命令执行结果特征码进行识别是否具有漏洞

修复建议

  1. 使用白名单对提交数据类型和格式进行严格验证

  2. 限制执行命令由用户提交,使用白名单限制执行命令

  3. 避免web服务器启动用户权限过高

相关文章

  • 03.DVWA之命令注入

    漏洞概述 命令注入是指在易受攻击的应用程序中注入和执行攻击者指定的命令,执行的命令具有与web服务相同的权限和环境...

  • 🔎 看图说话:命令行注入(Command Injection)漏

    1、命令注入攻击最初被关注到,是Shell命令注入攻击,由挪威一名程序员在1997年意外发现的,第一个命令注入攻击...

  • 【渗透测试】-SQL注入之mysql注入命令

    0x01:判断是否存在注入点 id=1'/*页面异常*/id=1and1=1/*页面正常*/id=1and1=2/...

  • 2018-06-17

    接口测试之SQL注入 首页我们先熟悉一下什么是接口SQL注入:就是通过把SQL命令插入到接口参数中,通过接口传达到...

  • 小迪16期-20170226

    第二天:Sql注入集锦篇 1.Sql注入之access注入 2.Sql注入之mysql注入 3.Sql注入之mss...

  • 谈谈sql注入之原理和防护(-)

    谈谈sql注入(二)谈谈sql注入(三)谈谈sql注入(四)所谓SQL注入,就是通过把SQL命令插入到Web表单提...

  • PHP网站的主要攻击方式有哪些?

    1. 命令注入(Command Injection) 2. eval注入(Eval Injection) 3. 客...

  • 常见WEB攻击之命令注入

    一、什么是命令注入 即 Command Injection。是指通过提交恶意构造的参数破坏命令语句结构,从而达到执...

  • 3.5 命令注入

    3.5.1. 简介   命令注入通常因为指Web应用在服务器上拼接系统命令而造成的漏洞。  该类漏洞通常出现在调用...

  • SQL注入命令:

    简介:所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器...

网友评论

      本文标题:03.DVWA之命令注入

      本文链接:https://www.haomeiwen.com/subject/iodieqtx.html