DVWA环境
DVWA
DVWA是一个用来进行安全脆弱鉴定的PHP/MYSQL WEB应用,主要是为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范过程
DVWA一共有十个模块分别是:
-
Brute Force (暴力破解)
-
Command Injection (命令行注入)
-
CSRF(跨站请求伪造)
-
File Inclusion (文件包含)
-
File Upload (文件上传)
-
Insecure CAPTCHA (不安全的验证码)
-
SQL Injection (SQL注入)
-
SQL Injection(Blind)(sql盲注)
-
XSS(Reflected)(反射型跨站脚本)
-
XSS(Stored)(存储型跨站脚本)
注意:
DVWA1.9代码分为四种安全级别:Low,Medium,High,Impossible。初学者可以通过比较四种级别的代码,接触到一些PHP代码审计内容
File Inclusion是文件包含漏洞,是指当服务器开始allow_url_include选项时4,可以通过PHP某些特性函数( include,require include_once,require_once)利用URL去动态包含文件,此时若果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行,文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞,远程文件包含漏洞是因为开市起PHP配置中的allow_url_fopen选项(选项开启之后,服务器运行包含一个远程的文件)
文件包含漏洞的一般特征如下:
?page=a.PHP
?home=a.html
?file=content
目录遍历(Directory traversal)和文件包含(File include)的一些区别:
目录遍历是可以读取web根目录以外的其他目录,根源在于web application的路径访问权限设置不严,针对的是本系统。文件包含是通过include函数将web根目录以外的目录文件被包含进来,分为LFI本地文件包含和RFI远程文件,包含几种经典的测试方法:
?file=../../../../../etc/passwdd
?page=file:///etc/passwd
?home=main.cgi
?page=http://www.a.com/1.php
编码绕过字符过滤:
可以使用多种编码方式进行绕过
%00嵌入任意位置
.的利用