DVWA系列之Command Injection(命令注入)源码分析及漏洞利用

本文详细分析了DVWA中的Command Injection漏洞,包括low、medium、high和impossible四个级别的源码,探讨了如何利用命令注入执行恶意命令。文章介绍了命令注入的概念、常见原因、利用条件和常见连接符,并提供了Windows和Linux下的漏洞利用示例。对于各级别源码,分析了过滤机制的漏洞和绕过方法,如通过&、|符号进行命令执行。
摘要由CSDN通过智能技术生成

Command Injection

  • Command Injection,即命令注入,是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。
  • PHP命令注入攻击漏洞是PHP应用程序中常见的脚本漏洞之一,国内著名的Web应用程序Discuz!、DedeCMS等都曾经存在过该类型漏洞。

命令执行产生原因
命令执行漏洞是指应用有时需要调用一些执行系统命令的函数如: system()、exec()、 shell exec()、eval()、 passthru0,代码未对用户可控参数做过滤,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击。

分类

  • 代码层过滤不严:商业应用的一些核心代码封装在二进制文件中,在Web应用中通过 system函数来调用:system("/bin/program --arg Sarg")
  • 系统的漏洞造成命令注入:bash破壳漏洞(CVE-20146271)
  • 调用的第三方组件存在代码执行漏洞Word Press中用来处理图片的 mageMagick组件,JAVA中的命令执行漏洞( struts/Elasticsearch Groovy等);ThinkPHP命令执行;

利用条件

  • 应用调用执行命令的函数
  • 将用户输入作为系统命令的参数拼接到命令中
  • 没有对用户输入过滤或者过滤不严格

​​​​​​​常见连接符

  • A;B       先执行A,再执行B
  • A&B      简单拼接,AB之间无制约关系
  • A|B        显示B的执行结果
  • A&&B    A执行成功,然后才会执行B
  • A||B       A执行失败,然后才会执行B

目录

low级别源码分析

medium级别源码分析

high级别源码分析

impossible级别源码分析


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值