查看原文
其他

PHP安全:组件漏洞防护

文章来源:计算机与网络安全

PHP库文件、PHP框架和其他PHP的软件模块,几乎总是以全部权限运行。如果一个带有漏洞的组件被利用,这种攻击可能会造成严重的数据丢失或服务器接管。应用程序使用带有已知漏洞的组件会破坏应用程序防御系统,并使一系列的攻击和影响成为可能。组件本身存在严重的漏洞,如FCKeditor编辑器、OpenSSL等均曝出过较严重的漏洞。防止此类漏洞,一定要时刻关注该软件的更新,总是使用最新版本的组件。


1、RSS安全漏洞


聚合内容(Really Simple Syndication,RSS)是在线共享内容的一种简易方式。通常在时效性比较强的内容上使用RSS订阅能更快速获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。网络用户可以在客户端借助于支持RSS的聚合工具软件(例如SharpReader、NewzCrawler、FeedDemon),在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。


如果RSS是来自不受信任的信息源,那么它们很有可能被注入了JavaScript或者其他HTML标签。这些恶意标签很有可能攻击浏览器。在转发任何来自终端用户的信息之前,必须使用可靠的过滤表进行过滤,或者它们必须过滤特定的字符集。为了抵御这种威胁,应当在应用中进行RSS输入输出验证。


受攻击的应用一般有以下几种。


1)本地RSS阅读器,如Foxmail、GreatNews、浏览器自带的RSS订阅、其他客户端、浏览器等。如果对此类进行攻击,可以执行更大的权限,一般为本地JavaScript权限。


2)Web RSS阅读器,如Google Reader、Bloglines、NewsGator、抓虾等。如果对此类进行攻击,将对Web用户造成伤害。


常见使用的RSS格式XML元素有以下几种。


1)Feed Title。

2)Feed Description。

3)Story Title。

4)Story Link。

5)Story Body/Description。


RSS脚本注入示例如下。


<item rdf:about="http://localhost:8080/rss">

<title><script>alert('Item Title')</script>

</title>

<link>http://localhost:8080/?<script>alert('Item Link')</script></link>

<description><script>alert('Item Description')</script>

</description>

<author><script>alert('Item Author')</script>

</author>

</item>


2、PHPMailer漏洞


PHPMailer是一个用于发送电子邮件的PHP函数包,堪称全球最流行的邮件发送类之一。全球范围内有很多用户直接用PHPMailer进行发送,且无须搭建复杂的Email服务。


1)PHPMailer在5.2.18之前的版本存在一个漏洞,远程攻击者利用该漏洞,可在Web服务器中执行任意远程代码,攻击者主要在常见的Web表单中,如意见反馈表单、注册表单、邮件密码重置表单等,使用邮件发送的组件时利用此漏洞。


2)PHPMailer在5.2.21及之前的版本中存在任意文件读取漏洞,攻击者利用该漏洞,可获取服务器中的任意文件内容。


3、OpenSSL漏洞


OpenSSL是一个安全套接字层密码库,包括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其他目的使用,用来实现网络通信的高强度加密,现在已被广泛地用于各种网络应用程序中。Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,不应该只将其作为一个库来使用,它其实是一个多用途、跨平台的密码工具。


1)OpenSSL 1.0.1n、1.0.1o、1.0.2b、1.0.2c版本,crypto/x509/x509_vfy.c内的函数X509_verify_cert,在替代证书链过程识别中没有正确处理X.509 Basic Constraints CA值,存在安全漏洞,这可使攻击者通过有效的证书,利用此漏洞冒充CA,发布无效的证书。


2)2014年4月7号,OpenSSL被谷歌安全工程师发现Heartbleed漏洞,这项严重漏洞的产生是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存,将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度泄露。


4、SSL v2.0协议漏洞


因为SSL v2.0协议存在许多安全漏洞问题,所以容易遭遇中间人攻击且容易被破解。由于许多系统和Web服务器还支持SSL v2.0协议,因此为了增强用户浏览网页的安全,目前所有主流新版浏览器都已经不支持不安全的SSL v2.0协议。


SSL v2.0主要存在以下问题。


1)同一加密密钥用于消息身份验证和加密。


2)弱消息认证代码结构和只支持不安全的MD5散列函数。


3)SSL握手过程没有采取任何防护,这意味着非常容易遭遇中间人攻击。


4)使用TCP连接关闭,以指示数据的末尾(没有明确的会话关闭通知)。这意味着截断攻击是可能的:攻击者只需伪造一个TCP FIN,使得接收方无法识别数据结束消息的合法性。


5)仅能提供单一服务和绑定一个固定域名,这与Web服务器中的虚拟主机标准功能有冲突,这意味着许多网站无法使用SSL。




推荐阅读




*phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

*干货 | 工控网络信息安全系统在集中控制系统中的应用与实践

*第三方软件提权之FTP软件

                                                                                         

                                                                        


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存