一、搭建LAMP环境
首先搭建好LAMP环境,如没配好参见“Linux+Apache+MySQL+PHP配置教程”
或者使用官方推荐的XAMPP:https://www.apachefriends.org/download.html
二、安装DVWA
2.1 下载dvwa
官网:http://www.dvwa.co.uk/
直接下载:https://codeload.github.com/ethicalhack3r/DVWA/zip/master
2.2 解压安装
将下载的应用解压到apache默认的主目录/var/www/html:
unzip DVWA-master.zip -d /usr/www/html
2.3 启用功能
dvwa上的漏洞,需要些刻意的配置才能被利用。访问:http://172.0.0.2/dvwa如下,红色表示不能正常使用:
问题:PHP function allow_url_include: Disabled
处理:编缉/etc/php.ini将allow_url_include值由Off改为On
问题:PHP module gd: Missing
处理:yum install -y php-gd
问题:reCAPTCHA key: Missing
处理:编缉dvwa/config/config.inc.php
配置$_DVWA[ 'recaptcha_public_key' ] = '6LdK7xITAAzzAAJQTfL7fu6I-0aPl8KHHieAT_yJg';
配置$_DVWA[ 'recaptcha_private_key' ] = '6LdK7xITAzzAAL_uw9YXVUOPoIHPZLfw2K1n5NVQ';
问题:Unable to connect to the database
处理:编缉dvwa/config/config.inc.php,将$_DVWA[ 'db_password' ]的值改成自己设的数据库root账号的密码
重启httpd(service httpd restart)刷新页面如下图:
点击上图中的Create/Reset Database后会创建数据库,完后自动跳转登录页面。
三、使用dvwa
3.1 登录dvwa
dvwa登录页面(改成自己主机IP):http://192.168.220.128/dvwa/login.php
默认用户名密码是:admin/password
3.2 界面介绍
登录后页面如下图,左侧是漏洞菜单,选择相应漏洞即进入存在该漏洞的页面。
3.3 渗透学习(以SQL Injection为例)
进入“SQL Injection”页面,如下图所示
“User ID”那个框显然是注入的框了,但是我们就是小白,就不懂怎攻击,怎么办呢?
练习题不会写,那就直接看答案啊。点击页面右下角“View Help”就可以查看。(View Source是查看当前实现submit查找这个功能的php源代码)
在上图中点击“View Help”,就会打开如下界面。其中黑条处就是注入代码(鼠标选中就可以看到是什么内容了)。
所以dvwa自己都把答案准备好了,完全没必要百度这道题怎么写。
3.4 切换编码安全等级
dvwa编码有“Low/Medium/High/Impossible”四个等级;其中Impossible级表示不存在漏洞,无法攻击。
即比如如果dvwa配置为Impossible级,那么3.3中的注入页面是没法注入的;或者反过来,如果你用各种方法都没法攻击dvwa,那要看看是不是把dvwa配置为了Impossible。
我们可以在页面右下角的”Security Level“得知当前dvwa配置的安全等级,然后可以通过”DVWA Security“配置dvwa的安全等级。
参考:
http://stackoverflow.com/questions/34274492/dvwa-setup-php-function-allow-url-include-disabled/34540293