【工具】sqlmap 中文手册 使用教程

0x01、 基本信息
官网
https://sqlmap.org/
下载安装

Windows 系统安装sqlmap可以关注微信公众号回复‘网络安全学习’或者联系公众号客服领取!

注入类型

基于布尔的盲注:即可以根据返回页面判断条件真假的注入;
基于时间的盲注:即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;
基于报错注入:即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;
联合查询注入:可以使用union的情况下的注入;
堆查询注入:可以同时执行多条语句的执行时的注入。```
**支持的数据库**

MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB

**0x02、使用方法
基本流程**

#爆所有数据库
sqlmap -r 1.txt --dbs
#爆表名
sqlmap -r 1.txt -D dvwa --tables
#爆字段名
sqlmap -r 1.txt -D dvwa -T users --columns
#爆字段内容
sqlmap -r 1.txt -D dvwa -T users -C user,password --dump

**Target**

-d # 直接连接数据库
-u # 目标 URL
-l # 从 Burp 或者 WebScarab 加载一个日志文件
-x # 从远程网站地图(sitemap).xml 文件加载目标
-r # 从文件中加载目标【重要】
-g # 从 google 结果中加载目标
-c # 从配置文件(.ini)中加载目标

**Request**
指定如何连接目标的 URL

–method=METHOD 定制 http 方法 (e.g. PUT)
–data=DATA 通过 POST 发送数据 (e.g. “id=1”)
–param-del=PARA… 用特殊字符拆分字符串 (e.g. &)
–cookie=COOKIE 定制 cookie (e.g. “PHPSESSID=a8d127e…”)
–cookie-del=COO… 定制分割 cookie 的字符 (e.g. 😉
–drop-set-cookie 忽略返回包中的 Set-Cookie
–user-agent=AGENT 定制 User-Agent
–random-agent 使用随机的 UA
–host=HOST 设置 host 的值
–referer=REFERER 设置 referer 的值
-H HEADER, --hea… 额外的请求头 (e.g. “X-Forwarded-For: 127.0.0.1”)
–headers=HEADERS 额外的请求头,使用 \n 来分割 (e.g. “Accept-Language: fr\nETag: 123”)

–auth-type=AUTH… 身份认证类型 (Basic, Digest, NTLM or PKI)
–auth-cred=AUTH… HTTP 身份凭证 (name:password)
–auth-file=AUTH… 从文件中载入 PEM 证书文件

–ignore-code=IG… 忽略状态码 (e.g. 401)
–ignore-proxy 忽略系统代理
–ignore-redirects 忽略重定向
–ignore-timeouts 忽略超时的链接

–proxy=PROXY 设置一个代理

–delay=DELAY 设置两个 HTTP 请求之间的延迟
–timeout=TIMEOUT 设置超时时间 (default 30)
–retries=RETRIES 设置超时重试时间 (default 3)
–randomize=RPARAM 随机改变给定的参数的值

–safe-url=SAFEURL 在测试的时候,频繁的访问某 URL(伪装是真人)
–safe-post=SAFE… 在测试的时候,频繁的 POST 数据
–safe-req=SAFER… 从文件中加载一个安全的 http 请求
–safe-freq=SAFE… 在两次请求中间,加入一个访问请求
–skip-urlencode 忽略 URL 编码

–csrf-token=CSR… 保留 anti-CSRF token
–csrf-url=CSRFURL 访问一个 URL,来获取 anti-CSRF token
–force-ssl 强制使用 SSL/HTTPS
–chunked 分块传输 POST 的请求
–hpp 使用 http 参数污染

**Optimization**
有俩不知道咋做到的,有时间抓包看看。。

-o 打开所有优化开关
–predict-output 预测常见的查询输出??
–keep-alive 使用一个长连接,不中断
–null-connection 在不使用实体 HTTP 请求的情况下获取页面长度??
–threads=THREADS 最大线程数 (default 1)

**Injection**

-p TESTPARAMETER 指定测试的参数
–skip=SKIP 跳过指定的参数
–skip-static 如果参数是静态的,那么就跳过

–dbms=DBMS 指定后端的数据库类型
–dbms-cred=DBMS… 指定数据库的账号密码 (user:password)

–os=OS 指定后端的操作系统

–no-cast 关闭 payload casting 机制
–no-escape 关闭 string escaping 机制
–prefix=PREFIX 在 payload 上加个前缀
–suffix=SUFFIX 在 payload 上加个后缀
–tamper=TAMPER 使用 tamper

**Detection**

–level=LEVEL 测试级别:2 检测 cookie,3 检测 User-Agent/Referer (1-5, default 1)
–risk=RISK 风险级别:2 会加上大量时间盲注测试,3 会加上 OR 类型的布尔盲注 (1-3, default 1)

**Techniques**

–technique=TECH… 注入类型 (default “BEUSTQ”,可改成 EU 试试)
–time-sec=TIMESEC 设置时间盲注延迟的时间 (default 5)
–union-cols=UCOLS 指定 union 查询的列数
–dns-domain=DNS… Domain name used for DNS exfiltration attack

B:布尔型盲注
E:报错盲注
U:联合查询注入
S:堆查询注入
T:时间盲注
Q:内联查询注入

**Enumeration**
这个基本都明白

-a, --all Retrieve everything
-b, --banner Retrieve DBMS banner
–current-user Retrieve DBMS current user
–current-db Retrieve DBMS current database
–hostname Retrieve DBMS server hostname
–is-dba Detect if the DBMS current user is DBA

–users Enumerate DBMS users
–passwords Enumerate DBMS users password hashes
–privileges Enumerate DBMS users privileges
–roles Enumerate DBMS users roles
–dbs Enumerate DBMS databases
–tables Enumerate DBMS database tables
–columns Enumerate DBMS database table columns
–schema Enumerate DBMS schema

–count Retrieve number of entries for table(s)
–dump Dump DBMS database table entries
–dump-all Dump all DBMS databases tables entries

–search Search column(s), table(s) and/or database name(s)
–comments Check for DBMS comments during enumeration
–statements Retrieve SQL statements being run on DBMS

-D DB DBMS database to enumerate
-T TBL DBMS database table(s) to enumerate
-C COL DBMS database table column(s) to enumerate
-X EXCLUDE DBMS database identifier(s) to not enumerate
-U USER DBMS user to enumerate

**Brute force**
以下情况,无法直接读取表名

mysql 版本 < 5.0,没有
Access 的数据库,系统表 MSysObjects 不可读
其他权限问题
这时候就需要采用字典爆破了。

–common-tables 爆破表名
–common-columns 爆列名
–common-files 爆文件

**tamper
-v 参数**
0:只显示Python的回溯,错误和关键消息。
1:显示信息和警告消息。
2:显示调试消息。
3:有效载荷注入。
4:显示HTTP请求。
5:显示HTTP响应头。
6:显示HTTP响应页面的内容
**0x03、文件相关
修改最大线程数**

cd /usr/local/Cellar/sqlmap/1.1.7/libexec/lib/core
open settings.py

然后查找 **MAX_NUMBER_OF_THREADS**,修改成自己想要的值即可。
**目录**

#tamper 脚本位置
/Users/v/sqlmap/tamper
#random-agent
/Users/v/sqlmap/data/txt/user-agents.txt
#扫描过的网站
/Users/v/.sqlmap/output/

**转载于:https://www.cnblogs.com/v1vvwv/p/Sqlmap-Chinese-Usage.html**
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kali工具sqlmap是一款用于自动化检测和利用SQL注入漏洞的工具。使用sqlmap可以帮助安全研究人员和渗透测试人员快速发现和利用网站中存在的SQL注入漏洞。 使用sqlmap的步骤如下: 1. 首先,你需要在Kali Linux系统上安装sqlmap工具。Kali Linux是一款专为渗透测试和网络安全而设计的操作系统,sqlmap是其中的一个内置工具。你可以使用命令"apt-get install sqlmap"来安装sqlmap工具。 2. 在安装完成后,你可以使用命令"sqlmap -u URL"来指定要测试的目标URL。这个URL应该是一个包含SQL注入漏洞的网站页面。sqlmap将会对该URL进行检测,以确定是否存在SQL注入漏洞。 3. 如果sqlmap检测到目标URL存在SQL注入漏洞,它将会显示出注入点的位置。你可以使用命令"sqlmap -u URL --dbs"来获取目标数据库的信息。这个命令将会列出所有的数据库名称。 4. 接下来,你可以使用命令"sqlmap -u URL -D database_name --tables"来获取目标数据库中的所有表名。这个命令将会列出所有的表名。 5. 一旦你获取到了目标数据库中的表名,你可以使用命令"sqlmap -u URL -D database_name -T table_name --columns"来获取指定表中的所有列名。这个命令将会列出指定表中的所有列名。 6. 最后,你可以使用命令"sqlmap -u URL -D database_name -T table_name -C column_name --dump"来获取指定列中的数据。这个命令将会列出指定列中的所有数据。 请注意,为了保护目标网站的安全和合法性,你需要在授权的情况下使用sqlmap工具进行SQL注入测试。同时,你也应该遵守法律法规和道德规范,在进行任何渗透测试活动时要遵循合法和合规的原则。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [kali基于sqlmap的使用](https://blog.csdn.net/qq_53123067/article/details/124447705)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Kali使用手册top10工具part2](https://download.csdn.net/download/yifan2dj/8031897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值