2010-01-30 117 views
2

我有一个相当静态的网站。它有一些形式可以发送联系信息,邮件列表提交等。也许在上传到网站后的几小时/几天,我发现主索引页面中有新的代码,我没有放在那里包含隐藏无形分隔中的一堆链接。网站链接注入

我有以下代码处理从窗体中发送的变量。

<?php 
// PHP Mail Order to [email protected] w/ some error detection. 

    $jamemail = "[email protected]"; 
    function check_input($data, $problem='') 
     { 
     $data = trim($data); 
     $data = stripslashes($data); 
     $data = htmlspecialchars($data); 
     if ($problem && strlen($data) == 0) 
      { 
      die($problem); 
      } 
     return $data; 
     } 
    $email = check_input($_POST['email'], "Please input email address."); 
    $name = check_input($_POST['name'], "Please input name."); 

    mail($jamemail, "Mailing List Submission", "Name: " . $name . " Email: " .$email); 
    header('Location: index.php'); 
?> 

我的索引页中的以下代码呈现形式与一些JavaScript做对之前提交划界案的内容错误检测。

<form action="sendlist.php" method="post" onSubmit="return checkmaill(this);"> 
     <label for="name"><strong>Name: </strong></label> 
     <input type="text" name="name"/><br /> 
     <label for="email"><strong>Email: </strong></label> 
     <input type="text" name="email"/><br /> 
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="Subscribe" style="width: 100px;"/> 
    </form> 

在这一天结束时,源代码中注入超链接如下:

</body> 

</html><!-- google --><font style="position: absolute;overflow: hidden;height: 0;width: 0">  
xeex172901 
<a href=http://menorca.caeb.com/od9c2/xjdmy/onondaga.php>onondaga</a> 
<a href=http://menorca.caeb.com/od9c2/xjdmy/tami.php>tami</a> 
<a href=http://menorca.caeb.com/od9c2/xjdmy/shotguns.php>shotguns</a> 
<a href=http://menorca.caeb.com/od9c2/xjdmy/weir.php>weir</a> 
<a href=http://menorca.caeb.com/od9c2/xjdmy/copperhead.php>copperhead</a> 
<a href=http://menorca.caeb.com/od9c2/xjdmy/mpv.php>mpv</a> 
<a href=http://menorca.caeb.com/od9c2/xjdmy/brunei.php>brunei</a> 
<a href=http://menorca.caeb.com/od9c2/xjdmy/doreen.php>doreen</a> 
+0

我不认为该PHP脚本中的任何内容都有写入文件的能力 - 您确定您的服务器是安全的吗? (没有安全漏洞)。 – robbo 2010-01-30 01:08:49

+0

那么,我不会自己运行服务器,因为我们在Hasweb提供的托管软件包上运行网站。如果它一直在发生,我将不得不发送一张票以帮助查看服务器是否有问题。 – 2010-01-30 17:35:53

回答

1

似乎极不可能的,你的表格有什么您的问题,更可能是你的ftp信息已被泄露。假设您使用ftp将更改上传到您的网站...

+0

该网站已经有3次链接注入发生。我手动删除它两次。之后,我改变了FTP密码,并且它又发生了,我又把它移开了。除非有人能够检测到我们从我们的网站cpanel做出的改变,那么应该已经涵盖了它。 – 2010-01-30 07:01:35

+0

如果可以,请使用sftp而不是ftp。顺便说一句,我有客户谁发生这种情况,因为他们的电脑被病毒感染。改变密码显然没有任何影响。 – jeroen 2010-01-30 14:28:06

+0

我们已将FTP协议更改为SFTP,但仍遇到同样的问题。 – 2010-01-30 17:36:34

1

除非有人能够物理访问您的服务器,否则这里有一个缺失的部分。你确定这是唯一运行的服务器端代码吗?

您不需要发布任何请求就会受到攻击。 XSS有各种形状和大小。

+0

我在主网站上写下了所有内容。所以,是的,PHP代码和其他两个PHP代码是唯一运行的PHP。这些页面被分割成header.php,index.php和footer.php w/includes来将它们放在一起。唯一的其他PHP是在一个WordPress的博客运行在一个子域。 – 2010-01-30 06:54:16

0

我建议你升级你的wordpress

我发现另一个网站与相同的代码注入here仍然生效,他们使用WordPress和有联系的形式也有。

顺便说一句,您显示我们的页面是在重定向页面之后,漏洞可能在contact.php或wordpress中。

+0

升级。我们将看到从这里发生的事情。虽然我很困惑Wordpress是如何在单独的文件夹中,并且没有它自己的问题,它正在影响父目录中的文件。 – 2010-01-30 07:04:08

+0

Wordpress升级后,我们仍然收到攻击。我不确定contact.php中的代码(发布在问题中)如何将任何代码插入到实际的index.php文件中。 – 2010-01-31 05:01:21

+0

contact.php有3个输入框,名称,电子邮件和评论,您发布的内容没有评论框。我认为它是一个不同的页面。 – YOU 2010-01-31 05:30:25

0

webhosting服务器被黑客攻击,而不是大规模毁损=用“IPWND!U”代替索引,他们只是选择传播病毒,并将blackhad seo用于他们控制的其他域名,我建议您更改您的托管服务。