网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

漏洞公告团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > 漏洞公告 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

Secure Remote Access中SQL注入漏洞、缓冲区溢出漏洞、目录遍历漏洞、代码注入漏洞等漏洞分析

文章来源:重庆网络安全 发布时间:2020-03-06 16:08:32 围观次数:
分享到:

摘要:多年来,安全研究人员一直在与安全相关的设备中发现严重的安全漏洞。我们将分析SonicWall的安全产品。 制造商表示相关产品将不受Palo Alto漏洞的影响。

  多年来,安全研究人员一直在与安全相关的设备中发现严重的安全漏洞。我们将分析SonicWall的安全产品。 制造商表示相关产品将不受Palo Alto漏洞的影响。

 常见的SSL-VPN产品中发现了多个安全漏洞。这些漏洞将使攻击者可以通过安全保护设备入侵目标网络系统。 安全漏洞的构造函数如下:

 Palo Alto


 Fortinet


 Pulse Secure


产品漏洞分析


  我对SonicWall产品了解不多。搜索了相关的SSL-VPN设备后,发现了Secure Remote Access(SRA)。幸运的是,我们能够下载与该设备型号相对应的虚拟机的试用版。所有分析都是在设备版本为8.1.0.7-22sv的设备上执行的,这似乎是一个非常旧的版本,因为在网络上找不到相关的更新版本。


  首先,让我们看一下SSL-VPN的Web界面。 此接口包含许多CGI文件,这些文件存储在cgi-bin目录中。可以远程调用它们,它们是只能在Linux平台上运行的32位ELF源文件。我们可以分析这些文件,以了解目标设备如何处理身份验证并发现身份验证系统中可能存在的漏洞,或者弄清楚是否可以在不进行身份验证的情况下调用某些文件。


  在这些文件中找到了一个名为supportLogin的程序,该程序可以处理某些类型的身份验证。发现了一些漏洞,这些漏洞将使攻击者能够在通过身份验证之前使用这些漏洞进行攻击,但需要设备启用“Virtual Assist”模块。老实说,我不知道这是否是常用模块。


SQL注入漏洞


  发现的第一个漏洞是存在于名为customerTID的参数中的SQL注入漏洞。 目标Web应用程序使用SQLite数据库,并使用sqlite3中的printf函数,该函数根据用户提供的输入数据构造查询语句。在大多数情况下,应用程序背景使用%q格式符号来转义引号字符。 但是在某些情况下,服务器使用%s。此时,转义操作无法正常执行,这导致存在SQL注入漏洞:

blob.png

 此问题将导致SQL盲注漏洞的存在,并且攻击者可以远程利用该漏洞。更重要的是,此SQLite数据库似乎将经过身份验证的用户的会话标识符存储在称为“Sessions”的表中,这意味着攻击者可以用其他方式入侵数据库并获得各种级别的SSL -VPN访问。


 分配给此SQL注入漏洞的CVE编号为:[CVE-2019-7481]


缓冲区溢出漏洞


  在同一CGI文件中发现了第二个漏洞,该漏洞使攻击者可以在目标设备上执行任意代码执行。这是浏览器用户代理信息的解析过程中存在的缓冲区溢出漏洞。 例如,当攻击者将User-Agent设置为Safari时,会发生溢出,并且后台服务器将调用libSys.so库中的getSafariVersion函数:

blob.png

getSafariVersion函数的代码如下:

blob.png

  此时,攻击者可以使用memcpy函数来实现本地缓冲区溢出。SRA中未使用Stack Canary技术,因此攻击者可以通过覆盖EIP或使用ROP链来执行任意命令。


  攻击者可以构造以下请求以使CGI崩溃:

GET /cgi-bin/supportLogin HTTP/1.1 Host: 10.1.0.100 User-Agent: plop Mac OS X Safari Version/12345678901234567890123456789012345678901234AAAABBBBCCCC lol Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate


  该Handler将自动重新启动,因此攻击者可以多次重用此漏洞并执行诸如爆破libc基址之类的操作。在实际情况下(通常不超过100次尝试),攻击者无法使用任何人的权限在目标设备上执行任意命令。


  为此缓冲区溢出漏洞分配的CVE编号为:[CVE-2019-7482]


目录遍历漏洞


  第三个漏洞是身份验证前遍历漏洞,可用于确定文件是否存在。从理论上讲,如果目标文件遵循某种结构,则攻击者可以利用该漏洞读取其中的一些文件。


  分配给此漏洞的CVE号为:[CVE-2019-7483]

  重要的是,在实际情况下,攻击者可以使用此漏洞来确定目标设备是否具有前两个漏洞。


  如果目标设备需要一些时间来处理以下请求,则该设备容易受到攻击:

 /cgi-bin/handleWAFRedirect?repeated=1&hdl=../etc/doesntexist


  如果请求一个实际存在的文件,则处理时间将缩短:

 /cgi-bin/handleWAFRedirect?repeated=1&hdl=../etc/passwd


其他漏洞


  在分析过程中还发现了其他三个漏洞,但是它们都需要获得用户帐户才能使用。


  CVE-2019-7484:SQL注入漏洞


  CVE-2019-7485:缓冲区溢出漏洞


  CVE-2019-7486:代码注入漏洞

  前两个漏洞与本文前面所述的漏洞非常相似,最后一个漏洞是一个相对简单的命令注入漏洞,但需要使用以下方法来利用管理员帐户:

 POST /cgi-bin/viewcacert HTTP/1.1Host: 192.168.200.1[...]  Content-Length: 67buttontype=delete&CERT=newcert-3'--'ping -c 4 192.168.200.123ls

本文由 重庆网络安全 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:Secure Remote Access SQL注入漏洞 缓冲区溢出漏洞 目录遍历漏洞 代码注入漏洞 漏洞分析 重庆网络安全

上一篇:Google发布Chrome 80.0.3987.132更新,修复CVE-2020-6420等4个安全漏洞
下一篇:POC编写:CNVD-2020-10487/CVE-2020-1938漏洞,tomcat服务器端口8009上的ajp协议漏洞,未经授权用户可读取网站目录中任意文件。

热门资讯

鼠标向下滚动