sql注入学习笔记(3)--sqlmap参数介绍

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 --regkey="HKEY_LOCAL_MACHINE\SOFTWARE\sqlmap" --reg-value=Test --
reg-type=REG_SZ --reg-data=1

参数真的好多,还是通过实战来记忆

猜你喜欢

转载自blog.csdn.net/azraelxuemo/article/details/107085132