sqlmap 是一款基于 python2 的强大的支持多种数据库的跨平台 SQL 注入检测工具。
基本概念:数据库管理系统 database admin DBA
数据库 dabase DB
数据表 table T
字段 columns -C
如何运行sqlmap:
常用的参数:
--update -h 查看常用参数
--version 版本 -hh 查看全部参数
-v 执行过程信息,默认是1,一共 0 ~ 6。 --hostname 查看服务器的主机名
-D 指定数据库 -T 指定表 -C 指定字段
--hostname # 查看服务器的主机名
--users # 查询所有的数据库账号 --current-user # 查询当前数据库用户
--dbs # 查询所有数据库 --current-db # 查询当前数据库
--schema # 查询源数据库(包含定义数据的数据)。 --tables # 查看所有的表
--columns # 查看所有的字段 --dump # 查看数据
--count # 计数,查看有多少条数据 -D 指定数据库 -T 指定表 -C 指定字段
-a # 查询当前user、当前数据库、主机名、当前user是否是最大权限管理员、数据库账号等
--roles 角色 --Privileges -U username # 查询username的权限
--sql-query "select * from users" # 执行语句
--common-columns # 暴力破解字段, --common-tables # 暴力破解表
--common-tables # 暴力破解表
#应用于两种情况:①无权限读取数据。②mysql<5.0 ,没有 infomation_schema库
sqlmap直连数据库:
sqlmap进行URL探测:
sqlmap从文件读取目标:
1.如何从brupsuit中获取HTTP请求文件?
Project options->misc->logging(proxy,requests)
将保存的日志文件复制到sqlmap的目录下。
sqlmap设置http方法:
sqlmap设置post方法:
设置数据分割符:
sqlmap设置cookie:
--cookie " "
--load-cookies
--set-drop-cookie
sqlmap设置user-agent头:
--user-agent="aaaaaaaaa" # 使用浏览器代理头
--random-agent # 使用随机的浏览器代理头
sqlmap设置referer头:
--referer="aaaaaa" # 使用referer头
sqlmap设置host头:
--host="aaaaa" # 使用主机头
sqlmap设置额外的http头:
--headers="host:aaaa\nUser-Agent:bbbb" # 有些网站需要特定的头来身份验证。
sqlmap设置代理:
--proxy="http://127.0.0.1:8086/" # 使用代理去扫描目标,代理软件占用的端口在8086。
--proxy-cred="name:pass" # 使用代理时的账号和密码。
--ignore-proxy # 忽略系统级代理设置,通常用于扫描本地网络目标,本网段。
sqlmap进行优化部分:
--level
2:检测cookie中是否含有注入
3:检测user-agent、referer是否含有注入
5:检测host是否含有注入
--risk 默认1,最高4,等级高容易造成数据被篡改风险。
--keep-alive # 长连接、性能好,避免重复建立的网络开销,但大量长连接会占用服务器资源。与-- proxy参数不兼容。
--threads=7 #提高并发线程,默认为1,建议不要超过10,否则影响站点可用性。
--predict-output # 优化检测方法,不断比对大数据,缩小检测范围,提高效率。
--skip-urlencode # 默认get传参会使用URL编码,但有些服务器没按规范,使用原始字符提交数据。
--eval="import hashlib;hash=hashlib.md5(id).hexdigest()" # 在提交前,对参数进行 pyhton的处理,提升效率。
--dbms="Mysql" # 指定数据库类型,还可以加上版本 Mysql。
--os="Windows" # 指定操作系统,还可以是Linux。
--tamper="tamper/between.py,tamper/randomcase.py" # 使用脚本,绕过IPS、WAF等。
--check-waf # 检测WAF/IPS/IDS。
--hpp # 绕过WAF/IPS/IDS。
--identify-waf # 彻底检测WAF/IPS/IDS。