sqlmap使用顺序
读取数据库?读取表?读取表的列?获取内容
sqlmap.py -h 查看帮助选项
--is -dba 当前用户权限
---current -db 网站当前数据库
--users 所有数据库用户
--passwords 所有用户密码
--current -user 当前数据库用户
--tables 参数:表名 --tables -D -数据库名称 查看数据库表名
--columns 参数:列名
--dump 参数:下载数据
--roles 列出数据库管理员角色
--dump -all 转存DBMS数据库中所有的表项目
--level 测试等级(0-4)默认为1
--dbms=mysql oracle mssql 指定数据库
--privlegess 列出数据库管理员权限
列举数据库系统的结构 sqlmap.py -u "--------" --schema -batch --exclude -sysdbs
显示调试信息
-v 显示调试信息,一共有7个级别
〇 只显示python错误以及严重的信息
① 同时显示基本信息和警告信息
②同时显示debug信息
③同时显示注入的payload
④同时显示HTTP请求
⑤同时显示HTTP响应头
⑥同时显示HTTP相应页面
风险等级 --risk 一共有4个风险等级 测试语句可以在xml/payloads.xml中找到
获取目标(单个目标)-u (多个目标)-m 多个目标的操作的方法------将多个目标放入一个新的文档中(a.txt) aqlmap.py -m a.txt(文档所在的路径)
获取HTTP请求注入
参数-r 使用方法:将请求包放入一个新文档中(a.txt) sqlamap.py -m a.txt(文档所在的路径)
当 POST注入,搜素注入,HTTP头注入 登录后的注入(cookie)时使用
处理Google搜索的结果(用此方法需要挂代理)
参数-g
sqlmap 可以测试注入Google的搜索结果中的GET参数(只能查看100个结果)
例如:
python sqlmap.py -g "inurl:php?id="
--data
此参数是把数据以POST方式提交
例如 python sqlmap.py -u "-----------" --data="id=1"
--param -del
参数拆分字符 当GET或者POST的数据需要用其他字符分割测试参数的时候需要此参数
例如 python sqlmap.py -u "---------/ruln.php" --param -del
--cookie 适用于cookie注入(弹框时用的就是cookie)
时间控制
--delay 可以设定两个http请求的延时,设定为0.5的时候是半秒,默认是没有延时。
--timeout 可以设定一个http的请求超过多久判定为超时,0.5是半秒,默认为30.
--retries 当HTTP超时时,可以可以设定重新尝试链接次数,默认为3次。
-p 在多个目标中可以指定某个参数
例如:“id=1 sid=2 ddid=3" -p "ddid=3"
--techinque
可以指定sqlmap使用的探测技术,默认为所有探测技术。
支持的方式
B:Boolea-based blind SQL injection(布尔型注入)
E:Error-based SQL injection (报错型注入)
U:UNION quory SQL injection (可联合型主注入)
S:Stacled quory SQL injection(可多语句查询注入)
T:Time-based blind SQL injection (基于时间延迟注入)
--search,-C,-D,-T
--search可以用来查找指定的数据库名,所有数据库中的特定表名,所有·数据库表中的特定列名
可以在下列情况使用
-C后面跟着用逗号分割的列名,将指定搜索指定的列名。
-T后面跟着用逗号分割的表名,将指定搜索指定的表名。
-D后面跟着用逗号分割的库名,将指定搜索指定的库名。
--batch 用此参数,将会沿着系统提示自动运行下去
--flush -session 清除缓存
暴力破解表名
当 时间盲注 延迟注入 access的数据库 MySQL5.0以下的数据库 需要加载字典暴力破解
参数:--common -tables
当使用-- tables无法获取表时,可以使用此参数。
执行sql语句
--sql -query ="select version<>" 单条语句
--sql -shell 多条语句
原文:https://www.cnblogs.com/qiaosheng/p/11885940.html