我的网站遭到入侵。有人在我的网站上注入了一些iframe标记。
他们是怎么做到的?仅在我的index.html,index.php页面上。但我已经阻止了此页面的写入权限,以及他们如何在我的页面中写入。
它会影响我服务器上的其他页面吗?
还有其他解决办法阻止这个吗?
谢谢
<?php`
include_once("commonfiles/user_functions.php");
include_once("user_redirect.php");
include_once("designs/index.html");
?>
<iframe src='url' width='1' height='1' style='visibility: hidden;'></iframe>
这是我的index.php代码<iframe>
是在php脚本之后注入的。
答案 0 :(得分:2)
有FTP访问您网站的人(您或您的开发人员)在其工作站上有病毒。此病毒已安装了一个键盘记录程序,该程序从您的FTP客户端窃取凭据并将此信息发送回黑客。
黑客收集数百个此类凭据,然后使用程序登录每个服务器,下载文件,修改它以附加iframe或模糊的JavaScript或PHP块,上传文件,下载下一个文件,修改,下载的文件可以匹配一组名称(例如只有索引。,默认。,home。*等)或者只是匹配任何html或PHP文件。
附加代码通常是可见性:隐藏或1x1px大小的iframe,&lt; script&gt;在可疑域上获取远程JavaScript文件,由一些聪明的str.CharCode'ing或一块base64_encode'dval()'d代码混淆的Javascript集合。对代码进行不模糊处理,结果通常是iframe。最近,一些聪明的攻击者正在插入远程shell,授予他们后门访问服务器的权限。
一旦修改了所有文件,攻击者就会注销。您网站的访问者将受到iframe中链接的域中的恶意代码的攻击,目的是安装病毒和rootkit。在其他功能中,这些病毒将安装一个键盘记录器来嗅探FTP凭据......病毒继续传播。
攻击者正在使用您的凭据,因此他们只能访问您有权访问的文件。有时,他们会在某些带编码shell的目录中上传一个额外的文件,允许他们返回服务器的访问权限(常见的是/ forums directores中的_captcha.php和/ gallery目录中的img.php或gifimg.php)。如果您在服务器上托管其他域,只要受影响域的用户无权访问其当前域,其他域就不会受到影响。
有两种方法可以阻止此类攻击 - 预防和正确的防病毒。通过使用防火墙并将FTP访问限制为仅限几个选定的IP,可以轻松地抵御攻击。攻击者不是从你自己的工作站攻击,而是攻击世界其他地方的服务器。在所有可以访问您的FTP帐户的工作站上使用适当的防病毒软件 - 或者更好的是,不使用Windows XP - 将有助于防止原始感染发生。
如果你被感染了,使用一点聪明的sed来清理混淆是相当容易的,这取决于你在发现注射和制作有效的正则表达方面有多好。否则,备份备份备份 - 总是有备份! ...哦,并更改您的FTP密码或明天他们会回来。
答案 1 :(得分:1)
如果已经编辑了php文件本身以包含此iframe,并且如果您正在运行的另一个脚本无法写入该文件,则可能已经破坏了对该文件具有访问权限的用户帐户。如果有一个用户帐户可以访问具有弱密码的文件,那么这将是我的候选人最可能的罪魁祸首。
他们可能在您的网站上使用某种形式的注入来获取用户名和密码哈希并强制执行这些注入,他们可能已经在有权访问的某人的计算机上安装了键盘记录程序,或者他们可能只是粗暴地强制您的登录(假设您没有某种机制来防止这种情况。)
我要做的第一件事就是确保在任何有权访问该计算机的计算机上都没有病毒运行。然后去改变密码。最后查看网站的php脚本以获取可能的注入点。麻烦点几乎是你在某种用户输入和处理它的任何地方,而没有先检查以确保它是安全的处理(即无法从用户登录表单中删除危险字符)。
答案 2 :(得分:1)
从目前为止发布的评论中,似乎有人已经获得了对具有代码注入其中的文件具有写权限的用户帐户的访问权限。听起来有些人发现了一个或多个帐户密码,并且偶尔会登录到您的FTP并进行一些更改。您是否尝试过更改密码?我建议使用一个相当安全的密码,至少15个字符并使用各种字符类型,如果你能使用不可打印的字符(使用alt / meta键在数字键盘上输入UTF代码点)。
如果在更改密码后仍然遇到同样的问题,那么可能会出现另一个问题。我首先要认真审查你的PHP脚本。在脚本接受来自表单的用户输入,存储在cookie中的数据或源自脚本本身之外的其他数据(因此可能是“脏”数据)的任何地方,都要非常仔细地检查脚本的操作。如果您正在使用任何此类可能脏的数据来运行OS命令,打开/读取/写入文件或查询数据库,那么数据可能包含将转义代码的转义字符,允许攻击者执行任何操作他们希望在你的脚本中编写代码。
密切关注您的访问日志。您提到从脚本中删除了注入的iframe代码,并且它会不断被重新注入,因此如果您能够发现它何时发生,您可以找到关于访问日志中更改源的线索。
答案 3 :(得分:1)
有关尝试以阻止iframe的更多信息,请参阅this thread。