概述
DVWA (Damn Vulnerable Web Application) 是用 PHP+MySQL 编写的一套用于漏洞检测和教学的程序,支持多种数据库,包括了 SQL 注入、XSS 等一些常见的安全漏洞。
总之dvwa就是一个我们练习xss和sql注入的一个环境
因为我不喜欢把这个东西安装在虚拟机和自己的笔记本上,如果安装在虚拟机上,那么每次都要打开这个虚拟机,还有我的笔记本是安装这个东西的地方吗?所以我就把它安装在树莓派上,安装方式有三种,第一种是docker,第二种就是传统的安装方式,第三种是使用iso镜像安装。先说传统的安装方式
下载dvwa
你可以在github和它的官方网站http://www.dvwa.co.uk/
来下载,但是有趣的是这么一个著名的靶子,竟然在github上只有两次release,下载这种简单的事情就自己琢磨吧
设置环境
首先你要知道的是dvwa其实就是一个充满漏洞的网站,所以只要设置lnmp或者lamp环境就好了,具体怎么安装lnmp和lamp这个可以用一键安装脚本来解决,而我的树莓派一直有这个lnmp环境,所以我就不再详细描述怎么安装lnmp了
首先看一下我的lnmp版本
1 | ➜ ~ mysql --version |
nginx是1.12.1,mysql是5.5.56,php是5.6.31
设置nginx
首先解压dvwaunzip DVWA-master.zip
然后把它放入站点文件夹下面mv DVWA-master /www/dvwa
之后配置nginx
下面是nginx的配置文件
1 | server { |
接着重启nginxsudo service nginx restart
重启之后访问报错DVWA System error - config file not found. Copy config/config.inc.php.dist to config/config.inc.php and configure to your environment.
那就按照上面说的做cd /www/dvwa
cp config/config.inc.php.dist config/config.inc.php
接着编辑这个配置文件vim config.inc.php
1 | <?php |
为了清楚我还是解释一下这个配置文件吧
首先$DBMS = 'MySQL';
上面这一行是说你是用什么数据库的dvwa不仅支持mysql而且还支持PGSQL也就是PostgreSQL
1 | $_DVWA = array(); |
上面是对数据库的配置,比如数据库的地址名字密码用户$_DVWA[ 'db_port '] = '5432';
配置数据库端口,如果你不知道你的数据库是什么端口的,首先登录你的数据库
输入show global variables like 'port';
就好了
按照你的配置完成之后,下面我们来设置数据库
配置数据库
首先创建dvwa的数据库,我就使用dvwa默认的名字dvwa来创建数据库
1 | ➜ config mysql -uroot -p |
接着数据库一般没什么可以配置了,使用浏览器访问dvwa试试
配置php和一些目录权限
很明显dvwa提示我们上面还有几个地方需要配置,首先是php要PHP function allow_url_include
打开php.ini
用vim搜索allow_url_include
1 | ; Whether to allow include/require to open URLs (like http:// or ftp://) as files. |
重启php-fpmsudo service php-fpm restart
设置为On就好了,然后刷新页面就好了
之后我们设置 reCAPTCHA key:,有人会问这个是什么,其实就是谷歌的验证码服务
我们要去申请一个key然后填在刚才的dvwa的配置文件config.inc.php里就好了
打开https://www.google.com/recaptcha/admin#list
之后一步一步申请把,如果不能访问,那么你可以联系我,或者只能mmp了,其实不设置也可以,就是dvwa少一个验证码的功能
接着解决下面两个权限问题
1 | [User: root] Writable folder /www/dvwa/hackable/uploads/: No |
设置可写权限chmod 763 hackable/uploads
chmod 666 external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
如果确定上面全是一片绿了之后,点击下面的create/reset database
默认的账号和密码
账号:admin
密码:password
使用docker安装
上面是使用传统的方式安装,下面就使用docker来安装这个东西,
首先执行docker pull vulnerables/web-dvwa
接着运行docker run --rm -it -p 8889:80 vulnerables/web-dvwa
8889是主机的端口,80是容器的端口
但是要注意的是这个docker镜像只能在x86架构下运行,arm是不可以的,之后访问ip+端口就好了,所以用docker还是超级方便的
使用iso镜像安装
这个没什么好说的就是用虚拟机安装一个操作系统
欢迎关注Bboysoul的博客www.bboy.app
Have Fun