C/C++教程

DVWA1.10_Command_Injection

本文主要是介绍DVWA1.10_Command_Injection,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • low
    low等级中通过获取ip参数,然后根据系统类型执行ping命令,没有对ip参数进行过滤,存在严重的命令注入漏洞。
    在这里插入图片描述
    不管是Linux还是Windows系统都可以使用&&连接执行多个命令。
    command_injection_low
  • medium
    medium增加了对“&&”,“;”的符号处理,将在黑名单中的符号删除。
    command_injection_medium
    黑名单过滤的符号只有“&&”,“;”,所以还是存在命令注入漏洞。如输入127.0.0.1 &net user,&用于连接多个命令,所有命令都会被执行;&&是一种逻辑与的关系,只有前部执行成功才会执行后部。
    127.0.0.1 &net user
    或者巧妙地利用过滤机制构造“&&”,如下图使用&;&连接多个命令,过滤机制将分号过滤删除,最终命令为ping 127.0.0.1&&net user
    在这里插入图片描述
  • high
    在high级别中完善了黑名单列表,过滤了大多数非法字符,但是在对管道符号“|”进行过滤时是过滤的“| ”字符串,后面多了个空格,所以管道符号“|“依然能够构成注入。
    command_injection_high
    127.0.0.1|net user
  • impossible
    command_injection_impossible
    impossible使用checkToken进行了Token检查,并使用explode将输入参数以’.'分割为数组,再对数组元素使用is_numeric进行判断,只有每个部分都为数字或数字型字符串才能通过验证。所以输入参数只能是ip格式”xxx.xxx.xxx.xxx",xxx为数字,不存在命令注入漏洞。
这篇关于DVWA1.10_Command_Injection的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!