一、初识 SQLMap
SQLMap 是一个自动化的 SQL 注入工具,其作用是扫描、发现并利用给定 URL 的 SQL 注入漏洞。其可以完成的任务包括:
1)判断可以注入的参数
2)判断可以用哪种sql技术注入
3)识别出数据库类型
4)根据用户选择读取数据
二、5种SQL注入技术
1、基于布尔类型的注入
根据返回页面判断条件真假
2、基于时间的注入
判断时间延迟语句是否执行
3、基于报错注入
页面会返回报错信息
4、联合查询注入
在可以使用union的情况下的注入
5、堆查询注入
可以同时执行多条语句时的注入
三、安装
下载 sqlmap 并放在 python(2.7) 的安装目录下
四、运用
1、判断是否存在注入的命令:
在 windows 命令行下,进入 python 安装目录,执行命令
python sqlmap.py -u http://xxxxxxx/xxxxx
扫描结果通常在C盘 AppData\Local\sqlmap\output’url’ 目录下
2、POST注入
1)拦截POST请求
2)将请求复制到 txt 文件中并保存
3)执行命令
python sqlmap.py -r sql-test.txt -p param
-r 是指定 txt 文件(sql-test.txt),-p 是指定要注入的参数(param)
3、Cookie注入
–level
指定测试的等级,从低到高为1~5,默认为1,当 level 大于等于2时,会执行 cookie 注入,level 大于等于 3 时会测试 User-Agent 和 Referer。如:
sqlmap.py -u”http://xxx.xxxx” --cookie "id=1" --dbs --level 2
五、常用指令
-
-current-user
获取当前用户名称 -
–users
获取数据库的所有用户 -
–passwords
获取用户的密码 -
-current-db
获取当前数据库名称 -
–dbs
查询当前用户下的所有数据库 -
-D aaa --tables
查询数据库aaa中的所有表名 -
-T bbb --columns
查询表bbb里面所有的列 -
-C ccc,ddd --dump
下载ccc和ddd这两列的值 -
–is-dba
判断当前账户是否为管理员用户,返回True或False -
–roles
列出数据库用户的角色 -
–sql-shell
用于运行指定的 sql 语句 -
–tamper //重要指令
对数据做修改绕过WAF,其自带的脚本可以将 ’ 替换为 \’ 等,常用脚本有 space2plus.py(将空格替换为+)、space2hash.py(将空格替换为#)等
欢迎关注微信公众号,您的支持是对我最大的鼓励
来源:CSDN
作者:你不知道的我-
链接:https://blog.csdn.net/jxl1994/article/details/103915932