小白的渗透之旅1-DVWA环境搭建

小白的渗透之旅1-DVWA环境搭建

注意:DVWA需要依赖httpd、PHP、MySQL、php-mysql等应用或组件,最简单的方法是安装wampserver(http://www.wampserver.com/),安装完了所需的各种依赖部件全部搞定。
本文将详细描述在Linux操作系统(centos6.9)下进行DVWA环境搭建及服务器的配置,以记录碰到的问题及需要注意的点。

目录

  • 小白的渗透之旅1-DVWA环境搭建
      • 目录
    • 准备阶段:
      • 1、配置防火墙,开启80 端口、3306 端口
      • 2、关闭SELINUX
    • 安装Apache服务器
      • 1.使用yum进行安装
    • 安装MYSQL
      • 1.使用yum进行安装
      • 2.为root 账户设置密码
    • 安装PHP
      • 1.安装PHP
      • 2.安装PHP组件
    • 服务器的安全配置(可选择性配置)
      • 1.Apache 配置
      • 2.php 配置
    • DVWA的安装
      • 1.下载DVWA
      • 2.解压缩DVWA安装包
      • 3.访问DVWA
      • 4.进入setup界面,配置config.inc.php
      • 5.进入链接 http://localhost/DVWA-1.0.8/login.php
      • 6.开始你的渗透之旅吧
    • 安装过程中的问题及有效的解决方式

  • 准备阶段
  • 安装Apache服务器
  • 安装MySQL
  • 安装PHP
  • 服务器的安全配置
  • DVWA的安装
  • 安装过程中的问题及有效的解决方式

准备阶段:

1、配置防火墙,开启80 端口、3306 端口

vi /etc/sysconfig/iptables
#打开防火墙配置文件

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
#允许80端口通过防火墙

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
#允许3306端口通过防火墙

备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22 端口这条规则的下面。

端口号 作用
22 SSH默认端口
80 HTTP默认端口
3306 MySQL默认端口

2、关闭SELINUX

vi /etc/selinux/config
#打开selinux配置文件

# SELINUX=enforcing
#注释掉

#SELINUXTYPE=targeted
#注释掉

SELINUX=disabled
#增加

:wq!
#保存退出

shutdown -r now
#重启系统

安装Apache服务器

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。—— [ 百度百科 ]

1.使用yum进行安装

yum install httpd 
#根据提示,输入Y 安装即可成功安装

/etc/init.d/httpd start 
#启动Apache

备注:Apache 启动之后会提示错误:
正在启动 httpd:httpd: Could not reliably determine the server's fully qualif
domain name, using ::1 for ServerName

解决办法:
vi /etc/httpd/conf/httpd.conf 
#编辑配置文件

找到 #ServerName www.example.com:80
修改为 ServerName www.xxx.net:80
#这里设置为你自己的域名,如果没有域名,可以设置为localhost

chkconfig httpd on
#设为开机启动

/etc/init.d/httpd restart 
#重启Apache

安装MYSQL

1.使用yum进行安装

yum install mysql mysql-server 
#询问是否要安装,输入Y 即可自动安装,直到安装完成

/etc/init.d/mysqld start
#启动MySQL

chkconfig mysqld on 
#设为开机启动

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 
#拷贝配置文件
注意:如果/etc 目录下面默认有一个my.cnf,直接覆盖即可

2.为root 账户设置密码

mysql_secure_installation
回车,根据提示输入Y
输入2次密码,回车
根据提示一路输入Y
最后出现:Thanks for using MySQL!

MySql 密码设置完成,重新启动 MySQL
/etc/init.d/mysqld restart 
#重启
/etc/init.d/mysqld stop 
#停止
/etc/init.d/mysqld start 
#启动

安装PHP

1.安装PHP

yum install php 
#根据提示输入Y直到安装完成

2.安装PHP组件

yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear phpxml php-xmlrpc php-mbstring 
#这里选择以上安装包(根据需要)进行安装,根据提示输入Y回车

/etc/init.d/mysqld restart 
#重启MySql

/etc/init.d/httpd restart 
#重启Apache

在路径/var/www/html中创建index.php,用于测试服务器是否安装正常。
这里写图片描述

服务器的安全配置(可选择性配置)

1.Apache 配置

vi /etc/httpd/conf/httpd.conf 
#编辑配置文件

ServerTokens OS 
#在44 行 修改为:ServerTokens Prod 
(在出现错误页的时候不显示服务器操作系统的名称)

ServerSignature On 
#在536行 修改为:ServerSignature Off 
(在错误页中不显示Apache 的版本)

Options Indexes FollowSymLinks 
#在331行 修改为:Options Includes ExecCGI FollowSymLinks
(允许服务器执行CGI 及SSI,禁止列出目录)

AllowOverride None 
#在338行 修改为:AllowOverride All 
(允许.htaccess)

Options Indexes MultiViews FollowSymLinks 
#在554行 修改为 Options MultiViews FollowSymLinks
(不在浏览器上显示树状目录结构)

DirectoryIndex index.html index.html.var 
# 在402行 修改为: DirectoryIndex index.html index.html Default.html Default.htm index.php Default.php index.html.var 
(设置默认首页文件,增加index.php)

KeepAlive Off 
#在76行 修改为:KeepAlive On 
(允许程序性联机)

:wq!
#保存退出

/etc/init.d/httpd restart
#重启

rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html 
#删除默认测试页

2.php 配置

vi /etc/php.ini 
#编辑

#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

expose_php = Off 
#在432行 禁止显示php版本的信息

magic_quotes_gpc = On 
#在745行 打开magic_quotes_gpc 来防止SQL注入

short_open_tag = ON 
#在229行支持php短标签

open_basedir = .:/tmp/ 
#在380行 设置表示允许访问当前目录(即PHP 脚本文件所在之目录)和/tmp/目录,可以防止php 木马跨站,如果改了之后安装程序有问题,可以注销此行,
或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/

:wq! 
#保存退出

/etc/init.d/mysqld restart 
#重启MySql

/etc/init.d/httpd restart 
#重启Apache

DVWA的安装

1.下载DVWA

http://www.dvwa.co.uk/

2.解压缩DVWA安装包

将下载的应用解压到apache默认的主目录/var/www/html:

unzip DVWA-master.zip -d /usr/www/html

3.访问DVWA

在地址栏输入 http://localhost/DVWA-1.0.8/setup.php
(DVWA-1.0.8为解压缩文件夹名,注意大小写)
小白的渗透之旅1-DVWA环境搭建_第1张图片

4.进入setup界面,配置config.inc.php

点击“Create/Reset Database”按钮时如果出现“Could not connect to the database - please check the config file.”的错误信息,请打开DVWA-1.0.8/config/config.inc.php文件,修改DVWA数据库中的密码,与之前创建
MySQL root用户的密码一致。
具体操作如下:
$_DVWA[ ‘db_password’ ] = ‘p@ssw0rd’;
中的密码部分替换成在步骤2中设置的MySQL root用户的密码;
(此处为空,直接把’p@ssw0rd’改为”就行了,即密码为空),再重新创建数据库即可。
正常情况截图:小白的渗透之旅1-DVWA环境搭建_第2张图片

5.进入链接 http://localhost/DVWA-1.0.8/login.php

默认的用户名和密码为“admin/password”
小白的渗透之旅1-DVWA环境搭建_第3张图片

6.开始你的渗透之旅吧

如果安装错误,别害怕,请看下面。。。

安装过程中的问题及有效的解决方式

1.当出现如下安装包找不到的情况小白的渗透之旅1-DVWA环境搭建_第4张图片
解决方法:

  • 需要添加软件仓库,输入以下命令:
    rpm -ivh http://xxx/xxx.rpm
  • 更新所有的安装包:
    yum -y update(升级所有包同时也升级软件和系统内核)
    yum -y upgrade(只升级所有包,不升级软件和系统内核)
  • 判断是否处于联网状态(ping一下),确保处于联网状态

2.当出现MySQL出现Access denied for user root@localhost错误
这里写图片描述
解决方法:

  • 步骤一:停止正在运行的MySQL服务器
    /etc/init.d/mysql stop
    或者service mysqld stop
  • 步骤二:检查etc下面的my.cnf,确保配置正确
    小白的渗透之旅1-DVWA环境搭建_第5张图片
  • 步骤三:重启MySQL
    /etc/init.d/mysql restart
    如若不行,可参考其他解决方式:https://www.2cto.com/database/201710/693937.html

3.安装完php后,使用phpinfo函数进行验证失败,直接把


phpinfo();
?>

这个代码显示出来了,而没有出现php的信息

解决办法:

  • php未正确安装,执行yum install -y php

4.安装完DVWA后,二级界面无法正常打开,服务器返回500错误;

解决办法:

  • 解压DVWA路径错误,将其解压生成到二级目录中,使服务器找不到;
    保证DVWA解压后文件处于/var/www/html路径下
    这里写图片描述
  • 修改/var/www/html路径下文件的权限,配置apache用户及用户组权限
    chown -R apache:apache ./html
    chmod 755 ./html

5.其他DVWA安装问题,查看DVWA配置文件(DVWA安装包中的config.inc.php文件)
详细操作可参考链接:http://www.mamicode.com/info-detail-2218015.html

你可能感兴趣的:(渗透之旅)