sqlmap的命令总结

学习sqlmap时记得一些笔记,上传到博客方便以后查找

 

 

sqlmap -r 扫描http是否存在漏洞(用bp的http请求)
sqlmap -m 用文本进行get扫描
sqlmap -l 用bp生成的文件扫描
sqlmap -x 从stilmap.xml进行url扫描
sqlmap -c 从sqlmap.conf使用
--dbs 枚举所有数据库
-D 指定数据库
--table 枚举数据表
-T 指定数据表
--columns 枚举数据字段
-C 指定数据字段
--dump 打开相应字段
-a 检测所有内容
-z缩写命令
-p 指定sql探测的参数(url中或者post)


-f 获取指纹
-v 设置风险值(可能会报错)

--beep 发现注入会发出声音
--alert= 当发现sql注入,运行系统命令
--from解析测试表单的输入字段
--crawl= 根据设置深度爬取url
--batch 决策默认选择
--no-cast 针对数据库老版本 将null值转换为空格
--data= 属性 可把get的xxx.php?id=1 更改为 xxx.php  --data="id=1" 隐式的改为post请求
--method =强制更改http请求方法
--level 等级,最高5  coo kie最低需要2 user-agent,referer最低需要3  host头最低需要5
--dbs 对应数据库名称
--skip-urlencode 不进行url加密       
--skip-static= 忽略指定参数(如xxx.php,静态参数 防止注入出现问题)  
--scop 对bp生成文件进行过滤(自己加过滤条件) 例如 -l xxxx --scop “127.0.0.1”过滤ip是127.0.0.1的
--randomize 设置随机参数,长度类型与提供的参数保持一致
--param-del= 指明分割符号(sqlmap默认分隔符是&,如果分隔符号是别的 就要指认使用的分隔符)
--safe-url --safe-post --safe-req --safe-freq 避免多次失败后销毁会话
--skip-url-urlencode 不进行url加密 有些网站后台不遵循rfc标准,需要以原始的非编码形式发送时使用
--risk 3 执行测试的风险(0-3,默认为1)risk越高,越慢但是越安全
--check-internet 确保网没有问题
--flush-session 刷新缓存
--fresh-queeries 忽略储存的结果
--identify-waf 查看是否有waf
--moblie 使用手机user-agent

时间_次数······
    --timeout 等待时间(超时)可以设置浮点数
    --delay 设置延时
    --retries 设置对应重试次数
    --eta注入数据时间·
http
    --user-agent= 指定user-agent (sqlmap默认的可能会被拦截,需要指定一个合法浏览器的user-agent)不指定也可以直接用他会随机使用一个
    --headers 设置额外的http头 多个标头需要\n(换行符)隔开 level=5
    --auth-type= 设置http认证 支持basic(弹出对话框)  digest ntlm
    --auth-cred http认证(登录)需要的用户名和密码
    --auth-file 指定私钥文件 提供的值为一个pem格式的key_file其中包含协议和私钥
    --ignore-401 忽略401错误
proxy代理
    --proxy  设置代理服务器位置
    --proxy-cred 代理的认证信息(账号 密码)
    --proxy-file 使用文件 设置多条代理
tor
    --tor 设置tor网络
    --tor-port 设置默认以外的Tor代理端口
    --tor-type 指定tor类型
    --check-tor 查看tor是否可以使用
cookie(level不低于2)
    --cookie 指定cookie
    --cookie-del 指定cookie分隔符号
    --load-cookies 探测过程中发送来的cookie不询问一直使用
    --drop-set-cookie 探测过程中发送来的cookie不询问不使用
性能优化
    -o开启所有的性能优化参数
    --keep-alive 设置持久连接 (在http报文中设置connection:keep-alive)
    --null-connection 不接受http中的body
    --thread 设置线程最大为10
    --predct-output 根据推理算法对检索字符的顺序统计预测 与--thread不兼容
指定位置注入
    -p指定探查参数 多个用,分割
    --skip 指定忽略参数 多个用,分割
    --param-exclude= 忽略具体内容的参数 多个用|分割 (例如session)
    --skip-static忽略非动态参数
    --os windows --os linux 默认情况下会自动识别os类型 也可以指定os进行针对系统更详细的探测
uri注入
    sqlmp无法自动探测 需要用*在参数后指定,(星号可以在任何合法文件中指定注入点)
DBMS
    --count 只计算表的数量
    --schema枚举模式列表下包含的所有数据库 表 列 以及它们的类型
    --banner或-b 数据库版本信息
    --current-user 当前用户名
    --current-db 查看当前数据库名
    --hostname 当前主机名
    --is-dba 检测当前用户是否是数据库管理权限
    --users 获取当前DBMS所有用户
    --passwrod 获取当前所有dbms用户密码
    --privilegs --role 枚举dbms权限
    --encoding=强制设置dbms编码
csv
    --csv-del= 设置分割符号

mysql<5.0 mysql中没有元数据库 information_schema
    --common_tables
    --common_columns
 
sqlmap读写文件
    --file_read= 读取对应文件 (绝对路径)
    --file_write= 读取本地文件
    --file_dest=写入文件 与--file_write一起写

posted @ 2020-02-14 14:52  黑胡子one  阅读(512)  评论(0编辑  收藏  举报