DVWA系列之9 high级别命令执行漏洞
2015-12-10 09:33
218 查看
将DVWA Security切换到high级别,在Command Execution中查看网页源码。
这里首先也是用stripslashes函数对获取到的IP地址进行了处理,主要是为了去掉转义后添加的斜杠,原因之前已经解释过,由于在high级别下会自动启用PHP的magic_quotes_gpc魔术引号,对所有的传值数据自动用addslashes()函数转义,所以需要用stripslashes()函数去除。
接下来使用了explode函数,以“.”为分隔符将$target变量中的IP地址进行分割,分割后会得到一个数组,并赋值给变量$octet。
接下来使用if语句,用is_numeric函数依次判断$octet数组中的每个值是否是数字型数据,并且还使用sizeof函数判断$octet数组中元素的个数是否是4个。这个判断条件就非常苛刻了,基本可以保证用户输入的必须是正确的IP地址,之前所使用的所有命令执行漏洞都无法生效了。
但是这里的问题也同样明显,这种过滤方法只能针对命令参数是IP地址的情况才起作用,如果我们希望去执行的是其它的系统命令,这种方法就不起作用了。
那么是否有通用的命令执行漏洞防御方法呢?方法当然有,在下篇博客将对这部分内容进行分析。
这里首先也是用stripslashes函数对获取到的IP地址进行了处理,主要是为了去掉转义后添加的斜杠,原因之前已经解释过,由于在high级别下会自动启用PHP的magic_quotes_gpc魔术引号,对所有的传值数据自动用addslashes()函数转义,所以需要用stripslashes()函数去除。
接下来使用了explode函数,以“.”为分隔符将$target变量中的IP地址进行分割,分割后会得到一个数组,并赋值给变量$octet。
接下来使用if语句,用is_numeric函数依次判断$octet数组中的每个值是否是数字型数据,并且还使用sizeof函数判断$octet数组中元素的个数是否是4个。这个判断条件就非常苛刻了,基本可以保证用户输入的必须是正确的IP地址,之前所使用的所有命令执行漏洞都无法生效了。
但是这里的问题也同样明显,这种过滤方法只能针对命令参数是IP地址的情况才起作用,如果我们希望去执行的是其它的系统命令,这种方法就不起作用了。
那么是否有通用的命令执行漏洞防御方法呢?方法当然有,在下篇博客将对这部分内容进行分析。
相关文章推荐
- BBSXP漏洞再探究
- Dedecms getip()的漏洞利用代码
- 漏洞漫舞的飞骋
- OBlog任意文件下载漏洞
- IIS漏洞整理大全
- JSP脚本漏洞面面观
- 新思路现动网新漏洞
- 小议yxbbs漏洞利用代码
- 揭露88red生成htm静态页面企业建站系统漏洞第1/2页
- 四大漏洞入侵博客
- Debian灾难性漏洞
- 使用Nmap为你的Windows网络找漏洞的图文分析
- rgboard 3.0.12 远程文件包含漏洞
- ASP的chr(0)文件上传漏洞原理和解决方法介绍
- 验证码的三个常见漏洞和修复方法
- php木马攻击防御之道
- php漏洞之跨网站请求伪造与防止伪造方法
- php str_replace的替换漏洞
- FCKeditor 新闻组件的一些程序漏洞
- High Performance JavaScript(高性能JavaScript)读书笔记分析