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

    技术2022-07-16  83

    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

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

    Processed: 0.015, SQL: 9