DVWA靶场搭建:Apache、MySQL、PHP、DVWA

news2024/11/15 6:18:28

最近为了能够较为真实地学习Web渗透的各种技术,就想着自己搭建一个专门用于学习的Web演练平台--DVWA“靶场”。

DVWA可以进行暴力(破解)、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入、SQL盲注、弱会话ID、XSS漏洞(DOM型跨站脚本、反射型跨站脚本、 存储型跨站脚本)等漏洞的演练,由于该系统提供了多个安全演练级别,因此可以逐步地来提高Web渗透的技术。DVWA是一套开源的系统,在练习Web渗透技术的同时,也可以通过阅读源码学习到对于各种漏洞的安全防护编码。

在网上搜了一圈发现大多都是PhpStudy+DVWA这种配置,由于主机上已经安装过Mysql,所以就想着单独安装Apache,然后配置关联Mysql和DVWA。

一、准备工作:

1、Apache:官网上下载最新的文件;

2、Mysql:官网上下载最新的安装包;

3、PHP:官网上下载最新的文件;

4、DVWA:https://github.com/digininja/DvWA/archive/master.zip

二、安装配置

Apache 配置步骤

  • 修改conf目录下httpd.conf根目录配置:Define SRVROOT "F:/Apache24";
  • CMD进入到bin目录下,使用httpd -t ,检查配置文件是否合法;
  • CMD进入到bin目录下,执行httpd -k install -n 自定义的访问名;
  • CMD进入到bin目录下,执行net start apache 或者执行httpd -k start -n apache启动服务;
  • 启动后面板控制如图
  • 通过浏览器访问http://localhost显示It Works!即部署成功。

PHP安装配置

  • 复制一份php.ini-development,重命名php.ini
  • 修改配置extension_dir = "F:/你自己的主机路径/php/ext"

MySQL安装配置

  • 文件解压后将bin目录添加进系统环境变量
  • 进目录建配置文件my.ini
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录   
basedir=D:/本地服务安装路径/mysql    ----------是本地的文件路径-------------
# 设置mysql数据库的数据的存放目录  
datadir=D:/本地服务安装路径/data     ---------创建data文件夹-------------
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

三、关联配置

1、修改 Apache24\conf\目录下的httpd.conf 配置,让Apache 和 PHP协同工作,修改默认的索引,以支持PHP:添加index.php

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

2、开启 rewrite 功能:将下面两行代码前面的 # 去掉:

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so

3、如果是PHP7,需要添加一下配置:

#php7
LoadModule php7_module F:/本地路径/php/php7apache2_4.dll
PHPIniDir F:/本地路径/php/php.ini
AddType application/x-httpd-php .php .html #声明.php和.html的文件能执行PHP程序
AddType application/x-httpd-php-source .phps

4、检查配置是否生效,添加文件查看phpinfo

<?php
	phpinfo();
?>

5、重启Apache服务,访问http://localhost/1.php页面显示phpinfo则成功

6、修改PHP配置php.ini,去掉前面的;使php支持mysql。

extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
extension=pdo_mysql

7、重启Apache服务,检查phpinfo页面,更新mysql相关API扩展即配置成功。

8、解压DVWA文件后,运行database目录下mysql脚本(或者后面部署DVWA后从页面导航创建),创建测试数据。

四、DVWA安装配置

1、将dvwa压缩包解压到apache\htdocs目录下;

2、复制dvwa/config目录里config.inc.php.dist重命名为config.inc.php,修改配置文件去连接我们前面创建好的数据库。

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

3、重启Apache服务,通过浏览器访问http://localhost/dvwa显示登录页面即搭建成功。

4、根据测试账号登录即可开始安全测试学习。

账户密码
adminpassword
gordonbabc123
1337charley
pabloletmein
smithypassword

五、其他问题

1、首次登陆DVWA提示reCAPTCHA key: Missing解决方法

 编辑 dvwa/config/config.inc.php这个配置文件,给下面两个Key加上值。

$_DVWA[ 'recaptcha_public_key' ] = '6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb';
$_DVWA[ 'recaptcha_private_key' ] = '6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K';

key自动生成地址:https://www.google.com/recaptcha/admin/create

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1717613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决docker容器: bash: ping: command not found, 并制作镜像

一. 出现原因 从 dockerhub 拉下来的镜像都是最轻量级的, 不会安装各种工具, 所以使用 ping, vim 等命令, 会出现 command not found 二. 解决方式 2.1 安装工具包 进入到一个正在运行的容器内部, 执行命令: apt-get update 之后会发现, 容器正在更新软件包, 不过最终会由…

(1+X)Java程序设计高级(一)

Throwable&#xff1a;异常的基类&#xff0c;所有异常都继承自 java.lang.Throwable 类&#xff0c;Throwable 类有两个直接子类&#xff1a;Error 类和 Exception 类。Error&#xff1a;是 Java 应用程序本身无法恢复的严重错误&#xff0c;应用程序不需要捕获、处理这些严重…

运筹学_2.线性规划

这里写目录标题 2.1 线性规划模型的建立线性规划定义线性规划模型建立的步骤 2.2 线性规划的标准型线性规划的一般形式线性规划的标准型线性规划的一般形式化为标准型方法 2.3 线性规划图解法2.4 线性规划问题的解可行解最优解基、基解、基可行解、可行基线性规划解的关系最优解…

基于RNN和Transformer的词级语言建模 代码分析 _generate_square_subsequent_mask

基于RNN和Transformer的词级语言建模 代码分析 _generate_square_subsequent_mask flyfish Word-level Language Modeling using RNN and Transformer word_language_model PyTorch 提供的 word_language_model 示例展示了如何使用循环神经网络RNN(GRU或LSTM)和 Transforme…

JVM学习-字节码指令集(四)

异常处理指令 抛出异常指令 athrow指令&#xff1a;在Java程序中显示抛出异常的操作(throw语句)都是由athrow指令来实现除了throw语句显示抛出异常情况之外&#xff0c;JVM规范还规定了许多运行时异常会在其他Java虚拟机指令检测到异常状况时自动抛出&#xff0c;在之前介绍的…

Java八股文面试全套真题

Java八股文面试全套真题 一、Redis1.1、你在最近的项目中哪些场景使用了redis呢&#xff1f;1.2、缓存穿透1.3、布隆过滤器1.4、缓存击穿1.5、缓存雪崩1.6、redis做为缓存&#xff0c;mysql的数据如何与redis进行同步呢&#xff1f;&#xff08;双写一致性&#xff09;1.6.1、读…

期权的时间价值是什么?和期权内在价值有啥不同?

今天带你了解期权的时间价值是什么&#xff1f;和期权内在价值有啥不同&#xff1f;期权的内在价值&#xff0c;是指期权立即执行产生的经济价值。 期权的时间价值是什么&#xff1f; 期权的时间价值是期权价格的一个重要组成部分&#xff0c;也被称为期权的外在价值。它是指期…

身处加密娱乐时代,我们需要的是新技术还是新应用

撰文&#xff1a;Matti 编译&#xff1a;Yangz&#xff0c;Techub News 点击查看文章来源&#xff1a;Techub News 现实的情况会让你不禁自问&#xff0c;「我们是否需要更多的基础设施来吸引更多的用户&#xff1f;」答案是&#xff0c;相较于新应用&#xff0c;我们并不需…

【数据结构】二叉树-堆(下)-链式二叉树

个人主页~ 二叉树-堆&#xff08;上&#xff09; 栈和队列 二叉树 四、堆的代码实现Heap.hHeap.ctest.c 五、堆的应用堆排序思想进行排序 六、二叉树链式结构的实现BTree.hBTree.ctest.c 四、堆的代码实现 Heap.h #pragma once#include <stdio.h> #include <stdlib…

现在,所有人都能免费用GPT-4o了!

OpenAI今日官宣&#xff0c;ChatGPT正式向所有用户免费开放&#xff01;所有用户均可以访问定制化GPT、分析图表、询问有关照片的问题以及5月初GPT-4o添加的其他功能。 OpenAI今天在X上发布推文&#xff1a; 「所有ChatGPT免费用户现在都可以使用浏览、视觉、数据分析、文件上…

【动态规划 组合数学 放球问题】2338. 统计理想数组的数目

本文涉及知识点 动态规划汇总 组合数学汇总 【组合数学 隔板法 容斥原理】放球问题 本题同解 【动态规划】【前缀和】【分组】2338. 统计理想数组的数目 LeetCode2338. 统计理想数组的数目 给你两个整数 n 和 maxValue &#xff0c;用于描述一个 理想数组 。 对于下标从 0…

在“AI PC”中使用NPU运行 Phi-3-mini

欢迎关注我的公众号“ONE生产力”&#xff0c;获取更多AI、云计算资讯分享&#xff01; 前段时间&#xff0c;我做了一系列微软Phi-3-mini小语言模型的教程&#xff0c;很多朋友参考教程进行了实践&#xff0c;其中有一个朋友反馈说模型token推理很慢&#xff0c;没有答道我说…

做项目时,怎么运用 SWOT 分析法进行项目或决策分析?

SWOT分析法是一种常用的战略工具&#xff0c;用于评估项目或决策的优势、劣势、机会和威胁。以下是在项目或决策分析中如何运用SWOT分析法的一般步骤&#xff1a; 步骤1&#xff1a;明确分析的目标 在进行SWOT分析之前&#xff0c;首先要明确分析的目标是什么。你可能想要分析…

如何学习ai agent?

如何学习Agent&#xff0c;推荐阅读《动手做AI Agent》这本书。 推荐理由&#xff1a; 1&#xff1a;一本书能够全方位了解并探索Agent的奥秘&#xff01; &#xff08;1&#xff09;Agent的发展进程。 &#xff08;2&#xff09;可以帮我们做哪些事&#xff1a;自动办公&am…

Mysql基础教程(10):LIMIT

MySQL LIMIT 用法与实例 在 MySQL 中&#xff0c;我们使用 LIMIT 子句来限定 SELECT 语句返回的行的数量。 MySQL LIMIT语法 该 LIMIT 子句可用于限制 SELECT 语句返回的行数。 LIMIT 接受一个或两个非负数正数作为参数。 LIMIT 子句的语法如下&#xff1a; LIMIT [offset,…

python绘制北京汽车流量热力图:从原理到实践

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、热力图绘制原理 三、热力图绘制实践 1. 数据准备 2. 地图组件选择 3. 数据…

seRsync + Rsync 实时同步

文章目录 1&#xff0c;结构图2&#xff0c;节点A2.1 安装rsync2.2 安装seRsync2.3&#xff0c; 创建seRsync的守护进程用systemd管理并启动2.4&#xff0c;上传rsync.pass密码文件到配置文件目录&#xff1a;/etc/2.5 &#xff0c;重新加载systemd&#xff0c;启动sersyncd守护…

CSPM.pdf

PDF转图片 归档&#xff1a;

直播领域新宠—第三代大模型无人直播系统:提升销售业绩的秘密武器

随着科技的飞速发展和人们对智能化生活的追求&#xff0c;直播领域也迎来了革新性的突破。第三代大模型无人直播系统&#xff0c;作为直播领域的新宠&#xff0c;正以其独特的魅力和优势&#xff0c;成为提升销售业绩的秘密武器。 首先&#xff0c;第三代大模型无人直播系统具…

3---C++之list(逻辑梳理、简单使用演示、部分源码实现)

一、先决知识点1——认识list&#xff1a; list底层实现是双向链表&#xff0c;但是不是循环链表。list是否使用哨兵节点&#xff0c;是细节问题&#xff0c;C标准并未规定。list是链表&#xff0c;他的优势在于对节点的操作会十分灵活&#xff0c;因此它在需要频繁插入和删除元…