File system access文件系统访问
--file-read= 从后端DBMS文件系统读取文件
--file-write= 在后端DBMS文件系统上编写一个本地文件
--file-dest= 要写入的后端DBMS绝对文件路径
利用这个可以读取系统文件"/etc/passwd",或者直接传马
General常规
-s 从存储的(.sqlite)文件加载会话
-t 将所有HTTP流量记录到一个文本文件中
--answers= 设置预定义的答案(如"quit=N,follow=N"),因为执行过程中会很多次询问,我们可以提前设置
--base64= 包含Base64编码数据的参数
--batch 永远不要要求用户输入,使用默认行为,这个我比较喜欢
--crawl= 目标网址开始抓取网站的深度,比如说--crawl=3
--binary-fields=.. 具有二进制值的结果字段(e.g. "digest")
--cleanup 从特定于sqlmap的UDF和表中清理DBMS
--crawl-exclude=.. 正则表达式排除爬网的页面 (e.g. "logout")
--csv-del= 在CSV输出中使用的分隔字符 (default ",")
--charset=CHARSET 盲注字符集 (e.g. "0123456789abcdef")
--dump-format= 转储数据格式(CSV (default), HTML or SQLITE)
--encoding= C用于数据检索的字符编码(e.g. GBK)
--eta 显示每个输出的估计到达时间
--flush-session 刷新当前目标的会话文件
--forms 在目标URL上解析和测试表单
--fresh-queries 忽略存储在会话文件中的查询结果,如果之前对一个url扫描过,第二次他会默认从结果里提取
--gpage= 使用指定页码的谷歌结果
--har= 将所有HTTP流量记录到一个HAR文件中
--hex 在数据检索期间使用十六进制转换
--output-dir= 自定义输出目录路径
--parse-errors 解析和显示来自响应的DBMS错误消息
--preprocess= 使用给定的脚本对响应数据进行预处理
--repair 减少具有未知字符标记的条目(?)
--skip-waf 跳过启发式检测WAF / IPS保护
--table-prefix=T.. 用于临时表的前缀(default: "sqlmap")
--test-filter= 通过有效载荷和/或标题选择测试 (e.g. ROW)
--test-skip= 按有效载荷和/或标题跳过测试 (e.g. BENCHMARK)
--web-root= Web服务器文档根目录(e.g. "/var/www")
--save= 将选项保存到配置INI文件中
-c 从配置INI文件加载选项
/etc/sqlmap/sqlmap.conf这个是sqlmap.conf默认的保存位置
比如说
sqlmap -u "" --skip-waf --repair ... -save="sss.conf"
sqlmap -c "sss.conf"
我们可以把一次扫描的参数保存下来,留着以后可以用
Miscellaneous杂项
-z MNEMONICS 使用简短的记忆法(e.g. "flu,bat,ban,tec=EU")//就是用缩写代替之前的命令,确实是命令太多了,怕你忘记了
比如说sqlmap -z "bat,randoma,ign,tec=BEU"对应sqlmap --batch --random-agent --ignore-proxy --technique=BEU
--alert= 当发现SQL注入时,运行主机OS命令
--list-tampers 显示可用的篡改脚本列表
--offline 在脱机模式下工作(只使用会话数据)
--results-file= 多目标模式下CSV结果文件的位置
--sqlmap-shell 交互的shell
--tmp-dir= 用于存储临时文件的本地目录
--unstable 为不稳定的连接调整选项
--wizard 简单的向导界面,初学者用户,每一步都有提示那种
以下是高级用法
User-defined function injection用户自定义函数注入
这些选项可用于创建自定义的用户定义函数
--udf-inject 注入自定义的用户定义函数
--shared-lib= 共享库的本地路径
比如说windows的dll,linux的so
Operating system access操作系统访问
--os-cmd= 执行操作系统命令
--os-shell 操作系统的shell
--os-pwn 提示输入OOB Shell,Meterpreter或VNC
--os-smbrelay 单击提示符可以获得OOB shell、Meterpreter或VNC
--os-bof 存储过程缓冲区溢出利用
--priv-esc 数据库进程用户权限升级
--msf-path= 安装Metasploit框架的本地路径
--tmp-path= 临时文件目录的远程绝对路径
Windows registry access注册表
这些选项可用于访问后端数据库管理系统Windows registry
--reg-read 读取Windows注册表项值
--reg-add 写一个Windows注册表键值数据
--reg-del 删除一个Windows注册表项值
--reg-key= Windows registry key
--reg-value= Windows registry key value
--reg-data= Windows registry key value data
--reg-type= Windows registry key value type
例如
sqlmap –u="http://1.1.1.1/a.aspx?id=1" --reg-add --reg key="HKEY_LOCAL_MACHINE\SOFTWARE\sqlmap" --reg-value=Test --
reg-type=REG_SZ --reg-data=1
参数真的好多,还是通过实战来记忆
来源:oschina
链接:https://my.oschina.net/u/4391872/blog/4335567