
数据库提权流程
1、先获取到数据库用户密码
- 网站存在 SQL 注入漏洞
- 数据库的存储文件或备份文件
- 网站应用源码中的数据库配置文件
- 采用工具或脚本爆破(需解决外联问题
数据库配置文件的命名通常与以下因素有关:
1. 数据库系统:不同的数据库系统有不同的配置文件命名规则。例如,MySQL使用"my.cnf"(linux)或者“my.ini(windows)”作为配置文件,Oracle使用"init.ora"或"spfile.ora"作为配置文件。
2. 应用程序:不同的应用程序可能对数据库配置文件有特定的命名要求。例如,一个Web应用程序可能将其数据库配置文件命名为"db.config"或"database.properties"。
3. 环境:在开发、测试和生产环境中,数据库配置文件的命名可能会有所不同。为了方便管理和区分不同环境的配置文件,可以在文件名中加入环境标识,例如"mydev.cnf"、"mytest.cnf"和"myprod.cnf"。
通过尝试找可疑文件



使用刚刚获取到的信息 尝试登录数据库


2、利用数据库提权项目进行连接
工具1-Multiple.Database.Utilization.Tools
原理:(需要有系统权限的用户)
这些组件是数据库调用系统命令的一些拓展,只是有些数据库把写这些给禁用了,或者按照的时候默认关闭,知道数据库最高用户的账号密码,就可以使用数据的命令和最高权限,将其强制开启

1.XpCmdshell组件


2.AgentJob组件–没有回显 使用DNSlog外带


3.SpOACreate和SpOACreate组件—提示阻止,激活组件




工具2-RequestTemplate
https://github.com/1n7erface/RequestTemplate
也是使用java1.8调用
1.生成并导出文件


2.添加连接



工具3-Databasetools(不推荐)
https://github.com/He110-Web/Databasetools
总结:三个工具要联合一起用
3、可利用建立代理解决不支持外联
1.利用已知 web 权限建立代理(等同于本地连接)


2.利用已知权限执行 SQL开启外联(让数据库支持外联)
4、可利用数据库提权类型条件及技术
1.MYSOL–默认不支持外联:PHP+MYSQL 以web入口提权
条件:ROOT密码(高版本的-secure-file-priv没进行目录限制)
技术:UDF MOF(在2008之后就失效了) 启动项 反弹Shell
secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
- ure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
- 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
- 当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制

启动外联
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '10idc.com' WITH GRANT OPTION;flush privileges;
你提供的这两条语句是 MySQL 中用于授权和刷新权限的操作,具体解释如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '10idc.com' WITH GRANT OPTION;
- 这是授权语句,允许用户
root
从任何主机(%
表示任意 IP 或域名)连接数据库 - 授予该用户对所有数据库和所有表(
*.*
)的全部权限(ALL PRIVILEGES
) - 设置用户密码为
10idc.com
WITH GRANT OPTION
表示该用户可以将自己拥有的权限授予其他用户
flush privileges;
- 这条语句用于刷新 MySQL 的权限缓存
- 在执行权限修改后,需要执行此命令使新的权限设置立即生效
- 相当于重新加载权限表,确保所有权限变更被正确应用
注意:这种配置会创建一个具有超级权限且可以从任何地址连接的 root 用户,在生产环境中这样设置存在安全风险,建议仅在测试环境使用,并且应使用强度更高的密码。在实际生产环境中,通常会限制允许连接的 IP 地址,并根据需要分配最小必要权限。


UDF MOF(在2008之后就失效了) 启动项 反弹Shell

2.MSSQL(SQLServer)–默认支持外联: .NET+MSSQL 以web入口提权
条件:sa 密码
技术:xp_cmdshell sp_oacreate CLR 沙盒
3.Oracle–默认支持外联:
jsp+oracle(jsp拿到权限就不需要提权了,jsp的默认权限就是system)
所以oracle提权是
1.直接获取oracle,没有web,直接数据库到系统
2.web不是用jsp搭建的
3.站库分离等

条件:数据库用户密码
技术:DBA,普通用户,注入模式




OrcaleShell工具


