- Python 语言编写的开源SQL注入检测、利用工具
- 丰富的特性、参数众多、强大的检测引擎
- 指纹发现、脱裤、OS控制、RCE
- 顺便发现XSS漏洞
- 必备
- 参数、HTTP头均可注入
SQL注入
- 与编程语言、数据库无关
- 问题在程序代码
检测漏洞
- ’
- 1 and 1=# 1 and 1=2# 1’ or 1=1# 1’ or 1=2#
- select [pass] from [table] where id = ‘1’
- select [pass] from table where id= ‘1’ and 11–+
- select [pass] from [table] where id = ‘1’;[ANOTHER SQL QUERY]#
- 手工利用门槛较高 -> Sqlmap
五种漏洞检测技术
- Boolean-based blind
- Time-based blind
- 'and (select * from (select(sleep(20)))a)#
- Error-based
- 适用于Web应用返回 DBMS 报错信息
- UNION query-based
- Web 应用程序通过for循环中的 SELECT 语句输出全部数据(否则首条记录)
- Stacked queries
- 堆叠多个查询语句
- 适用于非 select 的数据修改、删除的操作(文件访问、RCE)
- 支持多种关系型数据库
其他特性
- 直接读取BurpSuite日志、结合 google 自动搜索执行检查
- 支持GET、POST、Cookie、User-Agent、Referer检测
- 多线程(支持最大并发数、间隔时间、性能优化)
- 扫描期间自动处理 Set-Cookie 头,更新 cookie
- 支持身份认证、代理、定制头、解析表单
- 保存会话、断电续扫
- 配置文件
- 数据库版本、用户、权限、hash枚举和字典爆破、暴力破解表列名称
- 文件上传下载、UDF、存储过程、OS命令执行、访问windows注册表
- 集成于 w3af、metasploit,基于数据库服务进程提权和上传执行后门
直连榨取所有数据
- sqlmap -d “mysql://user:pass@192.168.20.3:3306/dvwa” -f --users -b --dbs --schema -a -v 6
- DBMS://USER:PASS@DBMS_IP:DBMS_PORT/DATABASE_NAME
- DBMS://DATABASE_FILEPATH(SQLite,Microsoft Access,Firebird)
- -f # footprint
- -b # banner
- -a # 榨取所有数据
- -v # 输出信息详细读(0-6)
- 下载数据
- .sqlmap # 数据存储目录