zoukankan      html  css  js  c++  java
  • 工具-sqlmap部分参数功能

    sqlmap参数使用

    前言

    这个文章主要是介绍sqlmap的参数,目前的内容并不详细,然后内容基本上是这篇文章的内容,有些坑之后再补。

    选项
    • -h help,显示基本帮助信息并退出
    • -hh 显示高级帮助信息并退出
    • -version 显示程序版本程序并退出
    • -v verbose 信息级别:
    	0:只显示python错误以及严重信息
    	1:同时显示基本信息和警告信息(默认)
    	2:同时显示Debug信息
    	3:同时显示注入payload
    	4:同时显示HTTP请求
    	5:同时显示HTTP响应头
    	6:同时显示HTTP响应页面
    	如果想看到sqlmap发送的测试payload最好的等级是3。
    
    目标

    sqlmap探测目标所采用的方式,是直接通过url还是读取文件或是其他。

    • -d direct 直接链接数据库的连接字符串
    • -u url或 -u=url 直接使用url进行测试,通常是测试get类型的注入
    • -l logfile,从Brup或webscarab代理日志文件中分析目标
    • -x sitemapurl,从远程网站地图(sitemapurl.xml)文件来解析目标
    • -m bulkfile,将目标地址保存在文件中,一行为一个URL地址进行批量监测(注意bulkfile要与sqlmap在统一目录)
    • -r requestfile,从文件加载HTTP请求,sqlmap可以从一个文本文件中获取HTTP请求,这样就可以跳过设置一些其他参数(比如cookie、POST数据等),请求是HTTPS时需要配合-force-ssl参数来使用,或者可以在Host头后面加上:443
    • -g googledork,从谷歌中加载结果目标URL(只获取前100个结果,需要挂代理)
    • -c configfile,从配置ini文件中加载选项
    请求

    这些选项可以指定如何连接到目标URL

    • -method=method,强制使用给定的HTTP方法
    • --data=data,通过POST发送数据参数,sqlmap会像检测GET参数一样检测POST的参数。
    • -param-del=PARA,当GET或POST的数据需要用其他字符分割测试参数的时候,需要用此参数。
    • -cookie=COOKIE,HTTP cookieheader的值
    • -load-cookies=???
    优化

    这些选项可用于优化sqlmap性能

    • -o,打开所有优化开关
    • -predict-output,预测普通查询输出
    • -keep-alive,使用持久HTTP(S)连接
    • -null-connection,获取页面长度
    • -threads=THREADS,当前http(s)最大请求数,默认1
    注入

    这些选项可用于指定要测试的参数,提供自定义注入有效载荷和可选的篡改脚本

    • -p testparameter,可测试的参数
    • -skip=skip,跳过给定参数的测试
    • -skip-static,跳过测试不显示为动态的参数
    • -param-exclude=..,使用正则表达式排除参数进行测试
    • -dbms=DBMS,强制设定后端的DBMS
    • -dbms-cred=dbms,dbms认证凭证(user:password)
    • -os=os,强制设定后端的dbms操作系统的值
    • -invalid-bignum,使用大数字使值无效
    • -invalid-logical,使用逻辑操作使值无效
    • -invalid-string,使用随机字符串使值无效
    • -no-cast,关闭有效载荷铸造机制
    • -no-escape,关闭字符串逃逸机制
    • -prefix=PREFIX,注入payload字符串前缀
    • -suffix=SUFFIX,注入payload字符串后缀
    • -tamper=TAMPER,使用给定的脚本更改注入数据
    检测

    这些选项可以用来指定sql盲注时如何解析和比较HTTP响应页面的内容。

    • -level=LEVEL,执行测试等级(1-5,默认为1,当level值为2或以上时,sqlmap会尝试注入cookie)
    • -risk=RISK,执行测试风险等级(0-3,默认为1,2会增加基于事件的测试语句,3会增加or语句的sql注入测试,有些时候,例如在update语句中,注入一个or的测试语句,可能会导致整个表更新,会造成很大的风险,测试语句可在xml/payloads.xml中找到。
    • string=STRING,查询有效时在页面匹配字符串
    • -not-string=not..,当查询求值为无效时匹配的字符串
    • -regexp=REGEXP,查询有效时,在页面匹配正则表达式
      • code=CODE,当查询求值为True时匹配的HTTP代码
    • -text-only,仅基于文本内容比较网页
    • -titles,仅根据他们的标题进行比较
    技巧

    这些选项用于调整具体的SQL注入测试。

    • -technique=TECH,SQL注入技术测试,默认beust
    • -time-sec=TIMESEC,dbms响应的延迟时间
    • -union-cols=UCOLS,定列范围用于测试union查询注入
    • -union-char=UCHAR,暴力猜解列的字符数
    • -union-from=UFROM,SQL注入union查询使用的格式
    • -dns-domain=DNS,dns泄露攻击使用的域名
    • -second-order=s..,url搜索产生的结果页面
    指纹

    -f,fingerprint,执行广泛的DBMS版本指纹检查

    枚举

    这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。还可以运行自定义的SQL语句。

    • -a all,获取所有信息
    • -b banner,获取数据库管理系统的标识
    • -current-user,获取数据库管理系统当前用户
    • -current-db,获取数据库管理系统当前数据库
    • -hostname,获取数据库服务器的主机名称
    • -is-dba,检测dbms当前用户是否是dbs
    • -users,枚举数据库管理系统用户
    • -passwords,枚举数据库管理系统用户密码哈希
    • -privileges,枚举数据库管理系统用户的权限
    • -roles,枚举数据库管理系统用户的角色
    • -dbs,枚举数据库管理系统数据库
    • -tables,枚举的dbms数据库中的表
    • -columns,枚举dbms数据库表列
    • -schema,枚举数据库架构
    • -count,检索表的项目数,有时候用户只想获取表中的数据个数而不是具体的内容,那么就可以使用这个参数:sqlmap.py -u url -count -D testdb
    • -dump,转储数据库表项
    • -dump-all,转储数据库所有项
    • -search,搜索列(s),表(s)和/或数据库名称(s)
    • -comments,获取dbms注释
    • -D DB,指定要进行枚举的数据库名
    • -T tbl,指定要进行枚举的数据表名
    • -C COL,指定要枚举的列
    • -X EXCLUDECOL,DBMS数据库表不进行枚举
    • -U USER,用来进行枚举数据库用户
    • -exclude-sysdbs,枚举表时排除系统数据库
    • -pivot-column-p???
    • -where=DUMPWHERE Use WHERE condition while table dumping
    • -start=LIMITSTART,获取第一个查询输出数据位置
    • -stop=LIMITSTOP,获取最后查询的输出数据
    • -first=FIRSTCHAR,第一个查询输出字的字符获取
    • -last=LASTCHAR,最后查询的输出字字符获取
    • -sql-query=QUERY,执行SQL语句
    • -sql-shell,提示交互式SQL的shell
    • -sql-file=SQLFILE,要执行的SQL文件
    暴力

    这些选项用来进行暴力检查

    • -common-tables,检查存在共同表
    • -common-columns,检查存在共同列
    用户自定义函数注入

    这些选项可以用来创建用户自定义函数

    • -udf-inject,注入用户自定义函数
    • -shared-lib=SHLIB,共享库的本地路径
    访问文件系统

    这些选项可以被用来访问后端数据库管理系统的底层文件系统。

    • -file-read=RFILE,从后端的数据库管理系统文件系统读取文件,SQL server2005中读取二进制文件example.exe:`python sqlmap.py -u "http://192.168.136.129/sqlmap/mssql/iis/get_str2.asp?name=luther" -file-read "C:/example.exe" -v 1
    • -file-write=WFILE,编辑后端的数据库管理系统文件系统上的本地文件
    • -file-dest=DFILE,后端的数据库管理系统写入文件的绝对路径
      在kali中将/software/nc.exe文件上传到C:/windows/Temp下:python sqlmap.py -u "http://192.168.136.129/sqlmap/mssql/iis/get_str2.asp?name=luther" -file-write "/software/nc.exe" -file-dest "C:/windows/temp/nc.exe" -v 1
    操作系统访问

    可以用于访问后端数据库管理系统的底层操作系统。

    • -os-cmd=OSCMD,执行操作系统命令
    • -os-shell,交互式操作系统shell
    • -os-pwn,获取一个OOBshell,meterpreter或VNC
    • -os-smbrelay,一键获取一个OBBshell,meterpreter或VNC
    • -os-bof,存储过程缓冲区溢出利用
    • -priv-esc,数据库进程用户权限提升
    • -msf-path=MSPPATH,MetasploitFramework本地的安装路径
    • -tmp-path=TMPPATH,远程临时文件目录的绝对路径
      Linux查看当前用户命令:`python sqlmap.py -u 'http://192.168.136.131/sqlmap/pgsql/get_int.php?id=1' -os-cmd id -v 1
    windows注册表访问

    这些选项可以被用来访问后端数据库管理系统Windows注册表。

    • -reg-red,读取一个Windows注册表项值
    • -reg-add,添加一个Windows注册表项值数据
    • -reg-del,删除Windows注册表键值
    • -reg-key=REGKEY,Windows注册表键
    • -reg-value=REGVAL,Windows注册表项值
    • -reg-data=REGDATA,Windows注册表键值数据
    • -reg-type=REGTYPE,Windows注册表项值类型
    一般选项

    主要用来设置一些一般的工作参数。

    • -s SESSIONFILE,保存和恢复检索会话文件的所有数据。
    • -t TRAFFICFILE,记录所有HTTP流量到一个文本文件中。
    • -batch,不询问用户输入,使用所有默认配置
    • -binary-fields=..,结果字段具有二进制值(e.g."digest")
    • -charset=CHARSET,强制字符编码
    • -crawl=CRAWLDEPTH,从目标URL爬行网站
    • -crawl-exclude=..,正则表达式从爬行页中排除
    • -csv-del=CSVDEL,限定使用CSV输出
    • -dump-format=DU..,转储数据格式(CSV(default),HTML or SQLITE)
    • -eta,显示每个输出预计到达时间
    • -flush-session,刷新当前目标的会话文件
    • -forms,解析和测试目标URL表单
    • -fresh-queries,忽略在会话文件中存储的查询结果
    • -hex,使用DBMS Hex函数检索数据
    • -output-dir=OUT..,自定义输出目录路径
    • -parse-errors,解析和显示响应数据库错误信息
    • -save=SAVECONFIG,保存选项到INI配置文件
    • -scope=SCOPE,从提供的代理日志中使用正则表达式过滤目标
    • -test-filter=TE..,选择测试的有效载荷和/或标题
    • -test-skip=TEST..,跳过实验载荷和/或标题
    • -update,更新sqlmap
    其他
    • -z MNEMONICS,使用短记忆法
    • -alert=ALERT,发现SQL注入时,运行主机操作系统命令
    • -answers=ANSWERS,当希望sqlmap提出输入时,自动输入自己想输入的答案,例如:python sqlmap.py -u "http://192.168.22.128/get_int.php?id=1" -technique=E -answers="extending=N" -batch
    • -beep,发现sql注入时,发出蜂鸣声。
    • -cleanup,清除sqlmap注入时在DBMS中产生的udf与表
    • -dependencies????
    • -disable-coloring,默认彩色输出,禁掉彩色输出
    • -gpage=GOOGLEPAGE,使用前100个URL地址作为注入测试,结合此选项,可以指定页面的URL测试
    • -identify-waf,进行WAF/IDS/IPS保护测试,目前大约支持30钟产品
    • -mobile,有时服务端只接受移动端访问,此时可以设定一个手机的User-Agent来模仿手机登录
    • offline,???
    • purge-output,从输出目录安全删除所有内容,有时需要删除结果文件,而不被恢复,可以使用此参数,原有文件将会被随机的一些文件覆盖。
    • -skip-waf,跳过WAF/IPS/IDS启发式检测保护
    • -smart,进行积极的启发式测试,快速判断为注入的报错点进行注入
    • -sqlmap-shell,互动提示一个sqlmapshell
    • -tmp-dir=TMPDIR,用户存储临时文件的本地目录
    • -web-root=WEBROOT,web服务器的文档跟目录(e.g.‘/var/www')
    • -wizard,新手用户简单的向导使用,可以一步一步教你如何对目标进行注入
  • 相关阅读:
    python idea 利用树莓派做家庭报警系统
    Browserslist: caniuse-lite is outdated. Please run next command `npm update`
    maven项目最外层有个红x,项目其他没有x
    要取消:根据 sitemap 的规则[0],当前页面 [pages/index/index] 将被索引
    MySQL的DATE_FORMAT()用法
    maven项目的java和resources等文件夹不在Java Resources的文件夹里,并且缺少Deployment...
    小程序开发demo及资源
    wx.requestSubscribeMessage 订阅消息
    java获取年月日
    goland 文件头自动注释
  • 原文地址:https://www.cnblogs.com/ahtoh/p/12640137.html
Copyright © 2011-2022 走看看