SQLMap是一个自动化的SQL注入工具,主要功能是扫描,发现并利用给定URL的SQL注入漏洞,支持的数据库有MySql,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access, ,SQList
IBM DB2,Firebird,Sybase,SAP MaxDB
SQLMap采用了一下五种独特的 SQL注入技术:
- 基于布尔类型的盲注,即可以根据返回页面判断条件真假的注入
- 基于时间的盲注,即不能根据页面返回的内容判断任何信息,要用条件语句查看时间延迟语句是否已执行(页面返回时间是否增加)来判断
- 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回到页面中
- 联合查询注入,可以在使用Union的情况下注入
- 堆查询注入,可以同时执行多条语句时的注入
0xx1 基础操作
- -u #判断是否有注入点
- -r #判断文本中的请求是否存在注入(存在cookie注入时使用)
- --dbs #查询当前用户下所有数据库(当继续注入时,--dbs缩写成-D xxx 在xxx数据库中继续查询其他数据)
- –tables #查询指定数据库所有表名 (继续注入时,--tables缩写成-T)
- –columns #获取表中字段名(继续注入时,--column缩写成-C)
- –dump #获取字段内容
- –users #获取数据库所有用户
- –passwords #获取数据库用户的密码
- –current-db #获取当前网站数据库的名称
- –current-user #获取当前网站数据库用户的名称
0xx2 高级用法
- –level #探测等级(默认是1)
- –is-dba #当前用户是否为管理员权限
- –roles #列出数据库管理员角色(Oracle)
- –referrer #HTTP Referer头
- –sql-shell #运行自定义sql语句
- –os-cmd,--os-shell #运行任意操作系统命令