PJzhang:centos7上LNMP方式安装dvwa漏洞测试环境
猫宁!!!
参考链接:https://www.jianshu.com/p/5491ce5bfbac
https://www.cnblogs.com/wujuntian/p/8183952.html
https://www.cnblogs.com/lonnie/p/9027566.html
https://stackoverflow.com/questions/34274492/dvwa-setup-php-function-allow-url-include-disabled/34540293
https://blog.csdn.net/reblue520/article/details/52464099
搭建dvwa的环境就相当于是搭建一个站点,这里采用LNMP的方式,即linux,nginx,mariadb,php的方式,全部在一台centos7上搭好。
linux环境配置,ip:192.168.0.100
centos7已经关闭了防火墙,selinux,否则会严重影响安装进程。
更新一下centos7
yum -y update
安装软件源
yum -y install epel-release
缓存软件包信息
yum makecache
nginx服务
安装
yum -y install nginx
开启
systemctl start nginx
本地浏览器输入192.168.0.100,显示nginx页面,说明安装成功,页面路径/usr/share/nginx/html
修改nginx主配置文件vi /etc/nginx/nginx.conf
server_name填写为192.168.0.100,这是服务器ip
在location中添加
root html;
index index.php;两行
在内容 root 下面添加如下内容,实现nginx服务器和php的关联,保存并退出.
location ~ \.php$ {
root /usr/share/nginx/html; #指定 php 的根目录
fastcgi_pass 127.0.0.1:9000;#php-fpm 的默认端口是 9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
nginx -t检测是否出现配置错误,显示成功。
由于进行了配置,所以不得不重启nginx服务
systemctl restart nginx
安装php相关服务
安装,全部都安装好
yum -y install php-fpm php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
启动php-fpm服务
systemctl start php-fpm
修改php-fpm配置文件
vi /etc/php-fpm.d/www.conf,将其中的apache修改为nginx即可,保存退出
由于修改文件配置,需要重启php-fpm服务
systemctl restart php-fpm
进入/usr/share/nginx/html,创建info.php的文件,vi info.php,内容如下:
<?php
phpinfo();
?>
访问192.168.0.100/info.php,显示php环境已经好了。
mariadb数据库环境
安装
yum -y install mariadb mariadb-server
启动
systemctl start mariadb
设置数据库密码,root是账户,jiayou是密码
mysqladmin -u root password jiayou
进入数据库
mysql -u root -p
创建并使用名为dvwa的数据库
create database dvwa;
use dvwa;
exit退出数据库
下载dvwa的源代码
www.dvwa.co.uk
https://github.com/ethicalhack3r/DVWA
将kali linux本地代码全部上传到服务器nginx的/usr/share/nginx/html目录之下
scp -r * root@192.168.0.100:/usr/share/nginx/html
访问http://192.168.0.100/setup.php,会有一段文字提示:
DVWA System error - config file not found. Copy config/config.inc.php.dist to config/config.inc.php and configure to your environment.
cd /usr/share/nginx/html/config
生成一份新的配置文件
cp config.inc.php.dist config.inc.php
vi config.inc.php,将数据库密码修改为jiayou,就是之前自定义的密码。
再次访问192.168.0.100/setup.php,显示如下,有报错, function allow_url_include: Disabled提示开启PHP的allow_url_include
php的配置文件存于/etc/php.ini中,vi /etc/php.ini,查询关键词allow_url,找到allow_url_include = Off,将Off改为On就好了,然后systemctl restart php-fpm。
同时进入cd /usr/share/nginx/html/config,vi config.inc.php,添加公钥还有私钥。
$_DVWA[ 'recaptcha_public_key' ] = '6LdK7xITAAzzAAJQTfL7fu6I-0aPl8KHHieAT_yJg';
$_DVWA[ 'recaptcha_private_key' ] = '6LdK7xITAzzAAL_uw9YXVUOPoIHPZLfw2K1n5NVQ';
目前最后一个点:
chmod 666 /usr/share/nginx/html/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt,给予所有用户对这个日志文件的读写权限
条件全部满足,这个时候点击安装按钮依然没有反应,查看nginx报错日志,tail -f /var/log/nginx/error.log
[error] 9112#0: *180 FastCGI sent in stderr: "PHP message: PHP Warning: session_start(): open(/var/lib/php/session/sess_5930ao4030vq7tble1pm2see32, O_RDWR),这个值得关注。
解决方案是如下,给予这个文件777权限,这个文件是很重要的,与用户的会话身份相关。
chmod 777 /var/lib/php/session
systemctl restart php-fpm,再重启一下。
之后成功安装,对于此类报错,不是每个人都会遇到,和每个人当时的安装环境以及采用的安装方法关系较大,因为即使是LNMP安装dvwa的过程,互联网上也方法多种多样。
http://192.168.0.100/index.php
感谢aaron提供的部分技术援助!!!
PJzhang:centos7上LNMP方式安装dvwa漏洞测试环境的更多相关文章
- 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录
在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录 时间:2017年9月20日 一.软件环境: IP:192.168.1.71 Hostname:centos73-2.sur ...
- kali上部署dvwa漏洞测试平台
kali上部署dvwa漏洞测试平台 一.获取dvwa安装包并解压 二.赋予dvwa文件夹相应权限 三.配置Mysql数据库 四.启动apache2和mysql服务 五.在网页配置dvwa 六.登陆到D ...
- Centos7上HBase的安装和配置
注意事项 HBase配置必须使用主机名,不支持直接配置IP地址.我尝试过,如果不使用主机名直接用IP,会导致HBase连接zk超时. > 设置主机名 hostnamectl set-hostna ...
- CentOS7上Python3.5安装
CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...
- shell-网上lnmp一键安装讲解
shell-网上lnmp一键安装讲解 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/b ...
- 在centos7上用docker安装宝塔面板
在centos7上用docker安装宝塔面板 1. [root@web01 ~]# systemctl enable docker 2. [root@web01 ~]# docker pull c ...
- VirtualBox上桥接方式安装CentOS之后借助宿主上网
VirtualBox上桥接方式安装CentOS之后借助宿主上网: 修改centos文件: 1 vi /etc/sysconfig/network-scripts/ifcfg-eth0 增加以下几项: ...
- centos7上使用yum安装mysql
centos yum是没有mysql的,集成的是新的Mariadb,怎么用yum的方式在centos7上安装mysql呢? 1. 下载mysql的repo源 wget http://repo.mysq ...
- centos7上keepalived的安装和配置
1.环境规划1)master:node1,centos7.5,eth0:192.168.1.11,eht1:10.10.1.11,keepalive2)backup:node1,centos7.5,e ...
随机推荐
- mysql 安装与配置、使用
http://www.cnblogs.com/shenliang123/p/3203546.html CentOs中mysql的安装与配置 在linux中安装数据库首选MySQL,Mysql数据库的第 ...
- [转载]php 数组 类对象 值传递 引用传递 区别
一般的数据类型(int, float, bool)不做这方面的解说了 这里详细介绍一下数组和的类的对象作为参数进行值传递的区别 数组值传递 实例代码: <?php function main() ...
- npm的常用配置
第一次使用需要初始化 npm init -y npm-tut { "requires": true, "lockfileVersion": 1, "d ...
- W5500EVB TCP Server演示
之前给大家展示了p=6471" style="margin:0px; padding:0px; border:0px; font-family:inherit; font-size ...
- mysql insert操作
insert的语法 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] ...
- IDEA中Git的应用场景
工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程git仓库上获取项目源码 场景三:小 ...
- POJ1144 Network 无向图割点
题目大意:求以无向图割点. 定义:在一个连通图中,如果把点v去掉,该连通图便分成了几个部分,则v是该连通图的割点. 求法:如果v是割点,如果u不是根节点,则u后接的边中存在割边(u,v),或者v-&g ...
- linux shell 突破
targetDate=$(cat maxdayid); targartMonth=${targetDate::}; targartYear=${targetDate::}; echo $targart ...
- C/S与B/S架构 区别·与优点
C/S和B/S,是再普通不过的两种软件架构方式,都可以进行同样的业务处理,甚至也可以用相同的方式实现共同的逻辑.既然如此,为何还要区分彼此呢?那我们就来看看二者的区别和联系. 一.C/S 架构 1 ...
- 织梦DEDEcms首页调用文档整篇内容
DedeCMS在首页调用内容页中的整篇文章 织梦程序是一个很强大的程序,也有很多朋友使用织梦程序来做博客,想要像是在博客中一样能在首页中调用一整篇文章,其实在织梦程序中页可以很完美的实现这个功能. 在 ...