DVWA关卡2:Command Injection(命令注入漏洞)

本文详细介绍了DVWA中的Command Injection漏洞,从Low到Impossible四个级别逐步剖析漏洞利用和防御措施。通过实例展示了如何利用命令连接符进行注入攻击,以及在Medium和High级别中如何绕过部分过滤。最后, Impossible级别展示了如何通过严格的输入验证和Anti-CSRF token防止命令注入,提供了一种有效的防护策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Low

Medium

high

Impossible


命令注入(Command Injection),是指在某些需要输入数据的位置,还构造了恶意的代码破坏了原先的语句结构。而系统缺少有效的过滤,最终达到破坏数据、信息泄露甚至掌控电脑的目的。许多内容管理系统CMS存在命令注入漏洞。

判断命令注入流程:

是否调用系统命令
函数或函数的参数是否可控
是否拼接注入命令

命令连接符

command1 && command2:&&表示先执行command1,执行成功后执行command 2,否则不执行command 2 ;        
command1 & command2:&表示先执行command 1,不管是否成功,都会执行command 2;        
command1 || command2:||表示先执行command1,执行失败后,执行command2;        
command1 | command2:|表示将command 1的输出作为command 2的输入,只打印command 2执行的结果。以上连接符在windows和linux环境下都支持。

Low

源码:

<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    // Get input
    $target = $_REQUEST[ 'ip' ];

    // Determine OS and execute the ping command.
    if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
        // Windows
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值