1.DVWA简介
DVWA(Damn Vulnerable Web Application)一个用来进行安全脆弱性鉴定的PHP/MySQL Web 应用平台,旨在为网络安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。
DVWA还可以手动调整靶机源码的安全级别,分别为Low,Medium,High,Impossible,级别越高,安全防护越严格,渗透难度越大。
1.暴力破解(Brute Force)
利用密码字典,使用穷举法猜解出用户口令。
2.命令行注入(Command Injection)
指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。
3.跨站请求伪造(CSRF)
利用受害者尚未失效的身份认证信息,诱骗其访问包含攻击代码的页面,以受害者的身份向发送请求,完成非法操作。
4.文件包含(File Inclusion)
利用url去动态包含文件,如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。
5.文件上传(File Upload)
由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的权限。
6.不安全的验证码(Insecure CAPTCHA)
验证码的验证流程出现了逻辑漏洞,使得攻击者可以绕过验证码而访问系统。
7.SQL注入(SQL Injection)
通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。
8.SQL盲注(SQLInjection(Blind))
盲注时攻击者通常是无法从显示页面上获取执行结果,通过逻辑结果来进行SQL注入。
9.反射型跨站脚本(XSS(Reflected))
指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行。
10.存储型跨站脚本(XSS(Stored))
指出现在 DOM(文档对象模型)而非 HTML 中的跨站脚本漏洞。
2.DVWA部署
实验环境准备
- Linux : Cent OS 7
- IP:192.168.247.201
- DB:mariadb PHP apache
快速部署一台CentOS 7,并搭建LAMP环境
关闭自带防火墙
测试LAMP环境,在/var/www/html/test.php创建测试文件,出现以下页面,证明环境运行正常。
给mariadb设置root密码
可以mysql -uroot -p12345678 登录测试
上传DVWA网站到指定目录下,并解压到网站根目录
解压缩 unzip -d /var/www/html/ DVWA-1.9.zip
更改网站目录权限
编辑DVAW配置文件/dvwa/config/config.inc.php,配置数据库信息,user和password是MySQL的用户名和密码。
15 $_DVWA[ 'db_server' ] = '127.0.0.1';
16 $_DVWA[ 'db_database' ] = 'dvwa';
17 $_DVWA[ 'db_user' ] = 'root';
18 $_DVWA[ 'db_password' ] = '12345678'; #只需要修改成你的mysql的root用户密码
配置DVWA网站系统,在浏览器中输入:http://192.168.1.63/DVWA-1.9/setup.php
注意有红色状态报警
vim /etc/php.ini
改:815 allow_url_include = Off
为: allow_url_include = On
systemctl restart httpd
reCAPTCHA key: Missing
vim /var/www/html/DVWA-1.9/config/config.inc.php
改:
26 $_DVWA[ 'recaptcha_public_key' ] = '';
27 $_DVWA[ 'recaptcha_private_key' ] = '';
为:
$_DVWA[ 'recaptcha_public_key' ] = '#######################################';
$_DVWA[ 'recaptcha_private_key' ] = '#######################################';
key是网站资源找的。
点击Create / Reset Database 创建测试数据库dvwa登录:
http://192.168.247.201/DVWA-1.9/login.php
dvwa的登录界面的默认用户名和密码为admin和password