WEB安全环境搭建

注:此文章为WEB安全SQL注入这篇文章之前一篇,是WEB第一篇,当时忘发了,补发一下。

WAMP搭建靶场

  • W:windows
  • A:apache
  • M:mysql,mariadb
  • P:php

下载phpstudy

https://www.xp.cn/download.html

  • phpstudy简介(小皮面板)

是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用

phpstudy傻瓜式的一键启动,一键切换环境(nginx+apahce),一键切换PHP版本(5.1-7.3),无需懂任何代码与手动配置。

为服务器环境提供最优配置的解决方案,支持Web端管理,一键创建网站、FTP、数据库、SSL;安全管理,计划任务,文件管理,PHP多版本共存及切换;自带LNMPLAMP

安装phpstudy

  1. 下载完成后为压缩包phpStudy_64.zip
  2. 解压后,双击执行exe安装程序,进入程序安装界面,选择自定义选项,更改安装目录,选择立即安装,等待安装完成即可,安装完成后自动启动,进入小皮面板

搭建 DVWA 靶场

下载DVWA靶场

https://github.com/digininja/DVWA

https://github.com/digininja/DVWA/archive/master.zip

安装DVWA靶场

解压DVWA靶场压缩包,到phpstudyWWW目录,重命名为dvwa

启动phpstudy

切换默认WNMPWAMP,点击启动,可以看到apachemysql服务都已成功启动.

访问DVWA靶场

打开浏览器,访问如下链接地址:

http://127.0.0.1/dvwa/

页面内容提示:DVWA系统错误-未找到配置文件。复制config/config.inc.php.dist文件为config/config.inc.php`并根据您的环境进行配置。

修改配置文件

找到dvwa目录下的config目录,复制config.inc.php.distconfig.inc.php

用记事本或其他编辑器,打开config.inc.php配置文件,修改内容如下后保存

$_DVWA = array();
$_DVWA[ 'db_server' ] = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = 'root';

再次访问靶场地址:http://127.0.0.1/dvwa/ ,成功进入setup安装界面

安装配置DVWA

  1. 启用allow_url_include

allow_url_fopen 参数(只影响RFI,不影响LFI)

简介:是否允许将URL(HTTP,HTTPS等)作为文件打开处理

allow_url_include 参数(只影响RFI,不影响LFI)

简介:是否允许 includeI() 和 require() 函数包含URL(HTTP,HTTPS等)作为文件处理

在小皮面板找到设置,配置文件,php.ini,双击php7.3.4nts打开php.ini配置文件,找到并修改allow_url_include的默认值OffOn,重启apache服务

  1. 创建数据库

再次访问靶场地址:http://127.0.0.1/dvwa/,点击Create / Reset Database,无红色标识,表示dvwa安装成功,稍等几秒钟,自动跳转进入靶场登录界面,输入默认账号admin密码password,即可成功登录

搭建 sqli-labs 靶场

项目地址:https://github.com/Audi-1/sqli-labs

  1. 下载源码
  • 下载ZIP

https://github.com/Audi-1/sqli-labs/archive/refs/heads/master.zip

  1. 将下载的源码,解压到phpstudyweb根目录WWW下,重命名为sqlilabs
  2. 进入sqlilabs/sql-connections目录下,记事本或其他编辑器打开db-creds.inc文件,修改为如下内容
<?php

//give your mysql connection username n password
Sdbuser = 'root';
$dbpass = 'root';
$dbname = "security";
Shost = 'localhost';
Sdbname1 = "challenges";

?>
  1. 访问靶场,点击 Setup/reset Database for labs 初始化数据库

http://127.0.0.1/sqlilabs/

出现如下报错:

Welcome  Dhakkan

SETTING UP THE DATABASE SCHEMA AND POPULATING DATA IN TABLES:

Fatal error:Uncaught Error:Call to undefined function mysql_connect(in C:\phpstudy_pro\WWWsqlilabs\sql-connections\setup-db.php:29 Stack trace:#0 (main)thrown in C:\phpstudy_pro\wWW\sqlilabs\sql-connections\setup-db.php on line 29

打开小皮面板,网站,管理,php版本,更多版本,选择php5.5.45nts安装,并选择此版本,然后刷新网站页面,如果没有报错,数据库初始化成功,至此,sqli-labs靶场搭建成功

搭建 upload-labs 靶场

项目地址:https://github.com/c0ny1/upload-labs

  1. 下载源码

https://github.com/c0ny1/upload-labs/archive/refs/heads/master.zip

  1. 将下载的源码,解压到phpstudyweb根目录WWW下,重命名为uploadlabs
  2. 访问靶场

http://127.0.0.1/uploadlabs/

LAMP搭建DVWA靶场

  • L:LINUX
  • A:apache
  • M:mysql,mariadb
  • P:php

Docker 搭建 LAMP

LAMP镜像仓库:

https://hub.docker.com/r/mattrayner/lamp

https://hub.docker.com/r/mattrayner/lamp/tags

Docker下载LAMP镜像

这里以llamp:1604-php5-base为例

sudo docker pull mattrayner/lamp:1604-php5-base

Docker启动LAMP容器

# 创建 /root/dvwa 文件夹
mkdir -p /root/dvwa/app

# 进入 /root/dvwa 文件夹
cd /root/dvwa

# 启动容器
sudo docker run -dit -p "8088:80" -v ${PWD}/app:/app
mattrayner/lamp:1604-php5-base

下载 DVWA 源码压缩包

# 进入app文件夹
cd /root/dvwa/app

# 下载dvwa源码压缩包
wget https://github.com/digininja/DVWA/archive/master.zip

# 解压
unzip master.zip

# 修改文件夹名字为dvwa
mv DVWA-master dvwa

修改 DVWA 配置文件

# 进入配置文件夹
cd /root/dvwa/app/dvwa/config

# 复制并重命名配置文件
cp config.inc.php.dist config.inc.php

# vim 编辑配置文件
vim config.inc.php

修改配置文件内容如下:

$_DVWA = array();
$_DVWA[ 'db_server' ] = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = '';
$_DVWA[ 'db_port'] = '3306';

修改 PHP 配置文件

启用all_url_include

  • 进入容器
docker exec -it CONTAINER_ID bash

注意命令中的 CONTAINER_ID 为启动的 LAMP 容器的 ID 值

  • 修改容器中PHP配置文件
# 进入配置文件目录
cd /etc/php/5.6/apache2

# vim 编辑php.ini配置文件
vim php.ini

找到并修改 allow_url_include 的默认值 Off 为 On

  • 重启容器中的 apache2 服务
service apache2 restart

配置文件夹权限

修改文件夹权限

cd /root/dvwa/app/
chmod -R 777 dvwa/hackable/uploads/
chmod -R 777 dvwa/external/phpids/0.6/lib/IDS/tmp/
chmod -R 777 dvwa/config

在容器的数据库中创建dvwa数据库:

sudo docker exec CONTAINER_ID mysql -uroot -e "create database dvwa"

注意命令中的CONTAINER_ID为启动的LAMP容器的ID

DVWA登录默认账号密码:admin / password

docker-compose

vim docker-compose.yml

version: '2'
services:
	dvwa:
		image: mattrayner/lamp:1604-php5-base
		volumes:
			- ./dvwa:/app
		expose:
			- "80"
		ports:
			- "8089:80"
		hostname: dvwa
		restart: always
docker-compose up -d

LAMP搭建 sqli-labs

搜索镜像

docker search sqli-labs

拉取镜像

docker pull acgpiano/sqli-labs

启动容器

docker run -dit -p 8081:80 acgpiano/sqli-labs

成功访问,表示搭建成功

LAMP搭建 upload-labs

搜索镜像

docker search upload-labs

拉取镜像

docker pull c0ny1/upload-labs

启动容器

docker run -dit -p 8082:80 c0ny1/upload-labs
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值