网站地图    收藏   

主页 > 后端 > 网站安全 >

iframe安全威胁 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] 本为由freebuf作者juney mm翻译,转载请注明出处!Web应用程序的安全始终是一个重要的议题,因为网站是恶意攻击者的第一目标。黑客利用网站来传播他们的恶意软件、蠕虫、垃圾邮件及...

本文由freebuf作者juney mm翻译

Web应用程序的安全始终是一个重要的议题,因为网站是恶意攻击者的第一目标。黑客利用网站来传播他们的恶意软件、蠕虫、垃圾邮件及其它等等。OWASP概括了Web应用程序中最具危险的安全漏洞,但是仍在不断积极的发现可能出现的新的弱点以及新的web攻击手段。
黑客总是在不断寻找新的方法欺骗用户,因此从渗透测试的角度来看,一个网络管理员需要照看到每一个可能被利用来入侵的漏洞和弱点。现在有许多自动化工具和手工技术可用来测试一些常见的漏洞,如SQL注入,跨站,安全错误配置及其它漏洞,但是我们需要注意到这些漏洞可能出现的变种。SQL注入是相当危险的,因为攻击者可以访问到数据库并窃取网站的用户和管理员信息。如果攻击者劫持到一个用户信息或使访问者重定向到一个恶意站点,这将会破坏访问者对网站的信任。
这篇文章中,我们讨论一下HTML代码中iframe的攻击,iframe是可用于在HTML页面中嵌入一些文件(如文档,视频等)的一项技术。对iframe最简单的解释就是“iframe是一个可以在当前页面中显示其它页面内容的技术”。
iframe的安全威胁也是作为一个重要的议题被讨论着,因为iframe的用法很常见,许多知名的社交网站都会使用到它。使用iframe的方法如下:
Example 1:
<iframesrc=”http:// www.2cto.com ”></iframe>
该例说明在当前网页中显示其它站点。
Example 2:
<iframesrc=’http:// www.2cto.com /’ width=’500′ height=’600′ style=’visibility: hidden;’></iframe>


 
iframe中定义了宽度和高度,但是框架可见度被隐藏了,所以不能显示。由于这两个属性占用面积,一般情况下攻击者不使用它。
现在,它完全可以从用户的视线中隐藏了,但是iframe仍然能够正常的运行。看以下图片:
 
这里使用了Infosec Institute站点的URL,攻击者可以插入其它恶意的URL。
混淆的iFrame注入攻击
混淆的iframe注入攻击是一个危险并棘手的攻击,因为它很难以被察觉,难以在网站上发现恶意的注射性代码。混淆是有隐藏交互的意思,因此难发现被注入的代码。这类攻击的目的是欺骗用户重定向到第三方网站并利用。如果使用iframe注入攻击控制了一个网站,那么很容易找到并定位注入的代码。但是使用混淆的iframe注入攻击,那么就不容易找到被注入的代码了。
让我们来思考一个例子—–一个站点被控制了,它被重定向了或显示了其他web页面的内容出售一些商品,访问者信任你这个站点,他们经常在此购买商品,那么你需要经常清理你的网站以防止遭受这种攻击。一个简单的方法就是检索可能存在的iframe索引页和重定向代码。假设你已经审查过了,但没有发现任何第三方的URL。现在,没有任何第三方的URL说明什么呢?一些攻击者可能使用了社会工程学技术进行web攻击。假设有这样一段代码:
 
这段代码看起来很正常,但是使用java解码后,如下:


 
这看起来像是一个合法的代码。攻击者谨慎的使用了“GPL”“wp”和“Java”这样合法的代码,但实际上是存在问题的。这些代码看起来似乎是十六进制,我们用十六进制解码器解码后如下:
 



实际结果是:
<iframesrc=’http://freebuf.com/’ width=’1′ height=’1′ style=’visibility: hidden;’></iframe>
现在可以想象为何混淆的iframe注入攻击很难被发现了。
如何清除Iframe注入代码
事故可能发现在任何时间的任何人身上,如果你的网站已经被黑客入侵,他们在你的网站上注入恶意的iframe代码,请保持冷静,你可以采取一些有效的措施来保护访问者的身份和机密信息。WordPress网站似乎是最活跃的iframe注入攻击的目标。黑客们普遍的做法是,将用户重定向到一些恶意站点,或利用浏览器跨域漏洞来控制受害者。因此,本章中我们将讨论如何采取有效的行动来防护iframe注入攻击。
1. 关闭网站,显示日常维护的消息。立即关闭网站是一个良好的行为,防止恶意软件在受害者计算机上传播。
2. 创建备份站点(核心文件,数据库和其他所有的文件夹)。即使它是一个受感染的站点,备份也是必要的。如果在清理过程做了某些错误操作可以恢复到之前的同等情况。
3. 确保你的计算机没有感染到恶意软件和病毒,如果你不确定你的计算机是否受到感染,做一次安全清理。这是一个必要的步骤,因为恶意软件可能会有记录FTP凭据的能力。
4.修改所有与网站相关的密码(FTP密码,SSH密码,Admin密码,Cpanl或其他主机面板密码,数据库密码等等)。
5. 如果你的网站需要一个干净的备份,使用反病毒软件扫描一次。之后,上传到你的Web服务器,并检查各项功能。如果仍然有问题,那么需要手动检查文件,以确定注入的代码。
6. 如果没有干净的备份,手动找到注入的代码并删除。在上文中,以分析了两种iframe注入(简单的iframe注入和隐藏的iframe注入),可能的情况下,按照之前的程序,分析可能存在的注入(建议在每一次变化后做一个备份)。
7. 确保站点不再存在注入代码。现在,建议找到造成问题的根源。你需要找出攻击者是如何进行注入的,为今后做预防。最常见的原因有以下几种:
过时的CMS(内容管理系统)软件(确保更新所有的软件和插件至最新版本)
服务器软件中的漏洞
 FTP和其它凭据被泄露
应用程序存在漏洞(Web应用程序代码中)
8. 计算机上必须有反病毒软件。网站建立FTP连接之前不要忘了扫描你的计算机。不建议保存FTP和SSH密码。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论