[ 渗透测试面试篇-3 ] Getshell常见方法总结

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
    • 3.1 注入getshell
      • 3.1.1 注入getshell方式
      • 3.1.2 注意
      • 3.1.3 举例
    • 3.2 上传 getwebshell
      • 3.2.1 上传 getwebshell方式
      • 3.2.2 注意
      • 3.2.3 上传过程可能遇到的问题
      • 3.2.4 举例
    • 3.3 RCE getshell
      • 3.3.1 RCE getshell方式
      • 3.3.2 注意
    • 3.4 包含getwebshell
      • 3.4.1 包含getwebshell 方式
      • 3.4.2 注意
      • 3.4.2 举例
    • 3.5 漏洞组合拳getshell
      • 3.5.1 漏洞组合拳getshell方式
      • 3.5.2 绕过既有认证+后台漏洞
      • 3.5.3 登录逻辑绕过、越权类
      • 3.5.4 XXE
      • 3.5.5 SSRF + RCE
      • 3.5.6 任意文件读取Getshell
    • 3.6 系统层getcmdshell
    • 3.7 钓鱼 getcmdshell
    • 3.8 cms后台getshell
    • 3.9 红队shell竞争分析

3.1 注入getshell

3.1.1 注入getshell方式

1.写权限+知路径:写shell
2.执行命令反弹CS马
3.后台SQL功能

3.1.2 注意

当然注入不一定都能拿到webshell,比如站库分离。但不管是否站库分离,只要权限够能够执行系统命令,反弹cmdshell 也是不错的选择。

3.1.3 举例

比如sa权限结合xp_cmdshell 存储过程(常见提权方式),直接执行powershell,反弹到cobalt strike。oracle成功率受限于与数据库版本以及注入点

3.2 上传 getwebshell

3.2.1 上传 getwebshell方式

1.前后台
2.上传功能
3.后台:备份、导入导出,模板

3.2.2 注意

上传漏洞对于getshell还是高频的,无论是前台上传点,还是后台(通过口令进入、或者XSS到后台、逻辑漏洞越权)上传点,当然也有可能要结合一些Web Server的解析漏洞。但像IIS和Apache解析漏洞因为太老,现在成功概率都小很多。
类似直接的上传漏洞就可以getshell的漏洞,例如IIS PUT上传、Tomcat PUT 上传,因为落脚点最终都跟上传有关系,这个就不单独去枚举。
还有一批像一些编辑器(FCK、editor、CKedtor…)存在上传漏洞可以getshell。这一系列,一般是基于信息收集确定是否存在漏洞,然后进一步利用。(发现漏洞比利用漏洞更艺术)

3.2.3 上传过程可能遇到的问题

这个期间可能涉及逻辑绕过、WAF对抗、杀软绕过、执行层,主要解决四点:

逻辑绕过:

代码或逻辑问题,可以上传脚本文件。

WAF对抗:

一躲过WAF对脚本文件及 上传内容的校验。

杀软绕过:

解决落地杀。

执行层:

本地js验证上传、服务器mime绕过、执行层、服务器文件头绕过、服务器filepath上传、双文件上传、%00截断上传、上传其他脚本类型。

3.2.4 举例

上传插件:

将shell添加到安装的插件中上传服务器拿shell。典型如wordpress

修改允许上传类型:

进入网站后台后找到上传点发现对上传有白名单限制,正好又可以添加白名单,可以将脚本格式写入白名单然后进行上传。如果容器允许的情况下,尝试上传与网站源码不同类型的脚本格式拿shell.

3.3 RCE getshell

3.3.1 RCE getshell方式

1.反序列化(java8php&aspx)
2.表达式注入OGNL/EL
3.PHP代码/章令执行

3.3.2 注意

RCE是统称,包括远程代码执行、远程命令执行。当然这两个概念还是有意思的,比如struts2漏洞有的叫命令执行有的叫代码执行。这都不重要。一般根据触发点来命名。 Java系的OGNL 表达式注入、EL注入、反序列化 PHP系列的eval 类、伪协议类 代码执行、system类命令执行 当然反序列化漏洞基本上编程语言都有,除了漏洞利用getshell,用作免杀后门webshell也是一个不错的思路推荐。正由于代码执行的部分结果是执行了系统命令,在命令执行的加持下,可以直接拿到应用或系统的shell,也是正统策略。

3.4 包含getwebshell

3.4.1 包含getwebshell 方式

1.PHP
2.ASPX/JSP后门系列
3.JSP包含+上传系列AJP .

3.4.2 注意

JSP、ASPx、PHP 都有文件包含,但PHP的包含好用:可以包含任意路径的任意后缀,能控制include类函数的输入结合系统特性文件或者上传的文件结合,可以拿到webshell。
JSP包含,默认情况下动态包含WEB路径下的JSP文件(静态包含可以包含任意后缀的文本文件,但不支持变量动态赋值暂不说明),比如CVE-2020-1938 Tomcat 文件包含漏洞,这个漏洞看上去是包含了任意格式的文件,但其实是因为AJP协议。
文件包含 可绕过waf拿webshell。借助文件包含躲避waf拦截。一般用来上大马用

3.4.2 举例

asp 包含代码

<!--#include file="123.jpg"-->:#调用的文件必须和被调用文件在同一目录,如果不在同一目录,用下面的语句:<!--#include virtual="文件所在目录/123.jpg"-->

php包含:

<?Php include('123.jpg'); ?>

命令执行:

echo ^<^?php @eval($_POST['cmd']);?^>^ > c:\1.php 
^<^%eval request("cracer")%^>^ > c:\1.php

3.5 漏洞组合拳getshell

3.5.1 漏洞组合拳getshell方式

XXE (+SSRF)
SSRF+RCE
文件读取+源码+vuls
弱口令+后台+上传
XSS/CSRF+后台+上传
逻辑漏洞&越权+上传

3.5.2 绕过既有认证+后台漏洞

口令爆破,进入后台多种漏洞的利用,包括前面提到的漏洞常见高危系列,还有一些备份还原、导入导出、模板编辑等功能。

3.5.3 登录逻辑绕过、越权类

搞定后台。进行典型漏洞利用 通过XSS钓到cookie,或者利用CSRF类漏洞“借刀杀人”搞到后台权限。进行典型漏洞利用。

3.5.4 XXE

XXE漏洞,最理想的状态就是直接可以代码执行(类似PHP expert);大多数还是以文件读取信息收集为主,结合源码或者配置文件(例如/etc/shadow、tomcat-users.xml等)getshell;还可以通过XXE的SSRF进行隔山打牛式getshell。
当然对于漏洞挖掘来讲,无论是xml格式还是json格式的POST数据包都值得多关注下。说不定就有惊喜呢。

3.5.5 SSRF + RCE

原理上SSRF可以结合所有RCE(反序列化、smysql … ;github 搜索SSRFmap、ssrf_proxy)的漏洞进行组合利用,只是我们在平常实例角度用SSRF+redis未授权用的多一些。

3.5.6 任意文件读取Getshell

正常的一般是通过读取web.xml 获取class文件,然后反编译,找到代码的一些漏洞。进而拿到系统的权限。当然还有文件读取加文件上传的曲折配合(任意文件读取漏洞的曲折历程)

3.6 系统层getcmdshell

暴力破解系统shell

3.7 钓鱼 getcmdshell

发送钓鱼邮件,捆绑的马,访问即加载、点击即执行类的马。 这一类攻击一般结合社工,例如借用IT管理员发送或某领导的账号去发送(所以这时候的邮箱的0day就非常重要了,当然如果在邮箱内部找到类似VPN或者密码表类,也不需要这么麻烦,一把梭…),可信度就高很多。对于红队来讲,钓的鱼儿还是以IT部门系列为主,普通办公区的主机权限还需要做更多的工作。

3.8 cms后台getshell

Cms 后台rce

3.9 红队shell竞争分析

拼信息收集,漏洞点,别人找不到,我找的到(例如移动端、物联网等接口信息,当然这种shell,一般距离核心应用可能也远一些); 拼利用速度,自动化一条龙(基本属于日常漏洞和工程化的积累); 拼0day (VPN — Mail — OA — java组件 — CMS — 关键设备 ); 拼细节漏洞,组合利用。(这是一篇“不一样”的真实渗透测试案例分析文章 ) 以上为本次所感所想,当然除了这种按照漏洞类型大类去分类,还有一些具体的漏洞也可以直接getshell,本次分析意义,就是在没有思路的时候,有个相对体系性思考框架。毕竟储备充足才会看上去像运气一样水到渠成,其实都是局部真相。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/921658.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子应用设计方案-20:智能电冰箱系统方案设计

智能电冰箱系统方案设计 一、系统概述 本智能电冰箱系统旨在提供更便捷、高效、智能化的食品存储和管理解决方案&#xff0c;通过集成多种传感器、智能控制技术和联网功能&#xff0c;实现对冰箱内部环境的精确监测和控制&#xff0c;以及与用户的互动和远程管理。 二、系统组成…

栈的应用,力扣394.字符串解码力扣946.验证栈序列力扣429.N叉树的层序遍历力扣103.二叉树的锯齿形层序遍历

目录 力扣394.字符串解码 力扣946.验证栈序列 力扣429.N叉树的层序遍历 力扣103.二叉树的锯齿形层序遍历 力扣394.字符串解码 看见括号&#xff0c;由内而外&#xff0c;转向用栈解决。使用两个栈处理&#xff0c;一个用String,一个用Integer 遇到数字:提取数字放入到数字栈…

pandas与open读取csv/txt文件速度比较

pandas与open读取csv/txt文件速度比较 由于在工作中经常需要读取txt或csv文件&#xff0c;使用pandas与open均可以读取并操作文件内容&#xff0c;但不知道那个速度更快一些&#xff0c;所以写了一个脚本去比较在文件大小不同的情况下读取数据的速度 测试结果: 大小pandas速度…

039_SettingsGroup_in_Matlab图形界面的设置选项

只要你知道你自己正在做什么&#xff0c;那么你怎么做都行。—— C.J. DateMatlab的界面与设置 Matlab的界面 Matlab的界面是GUI设计中非常值得讨论的一个议题。先来看&#xff0c;默认的Matlab界面。 这里的界面从上到下分为了四个部分&#xff0c;分别是&#xff1a; 工具…

Flink-Source的使用

Data Sources 是什么呢&#xff1f;就字面意思其实就可以知道&#xff1a;数据来源。 Flink 做为一款流式计算框架&#xff0c;它可用来做批处理&#xff0c;也可以用来做流处理&#xff0c;这个 Data Sources 就是数据的来源地。 flink在批/流处理中常见的source主要有两大类…

.net的winfrom程序 窗体透明打开窗体时出现在屏幕右上角

窗体透明&#xff0c; 将Form的属性Opacity&#xff0c;由默认的100% 调整到 80%(尽量别低于50%)&#xff0c;这个数字越小越透明&#xff01; 打开窗体时出现在屏幕右上角 //构造函数 public frmCalendarList() {InitializeComponent();//打开窗体&#xff0c;窗体出现在屏幕…

分布式系统稳定性建设-性能优化篇

分布式系统稳定性建设-性能优化篇 系统稳定性建设是系统工程的核心内容之一。以下是一些重要的方面: 架构设计: 采用模块化、松耦合的架构设计,以提高系统的可扩展性和可维护性。合理划分系统功能模块,降低单个模块的复杂度。定义清晰的接口和数据交换标准,确保各模块之间协调…

【bug】使用transformers训练二分类任务时,训练损失异常大

使用transformers训练二分类任务时&#xff0c;训练损失异常大 问题分析 问题 training_loss异常大&#xff0c;在二分类损失中&#xff0c;收敛在1~2附近&#xff0c;而eval_loss却正常&#xff08;小于0.5&#xff09; 分析 参考&#xff1a; Bug in gradient accumulation…

电容测试流程

一、外观检测 1. 目的&#xff1a;检验电容样品外观是否与规格书一致&#xff0c;制程工艺是否良好&#xff0c;确保部品的品质。 2. 仪器&#xff1a;放大镜 3. 测试说明&#xff1a; &#xff08;1&#xff09;样品上丝印与规格书中相符&#xff0c;丝印信息&#xff08;…

C++设计模式行为模式———中介者模式

文章目录 一、引言二、中介者模式三、总结 一、引言 中介者模式是一种行为设计模式&#xff0c; 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互&#xff0c; 迫使它们通过一个中介者对象进行合作。 中介者模式可以减少对象之间混乱无序的依赖关系&…

一篇保姆式centos/ubuntu安装docker

前言&#xff1a; 本章节分别演示centos虚拟机&#xff0c;ubuntu虚拟机进行安装docker。 上一篇介绍&#xff1a;docker一键部署springboot项目 一&#xff1a;centos 1.卸载旧版本 yum remove docker docker-client docker-client-latest docker-common docker-latest doc…

EasyAnimate:基于Transformer架构的高性能长视频生成方法

这里主要是对EasyAnimate的论文阅读记录&#xff0c;感兴趣的话可以参考一下&#xff0c;如果想要直接阅读原英文论文的话地址在这里&#xff0c;如下所示&#xff1a; 摘要 本文介绍了EasyAnimate&#xff0c;一种利用Transformer架构实现高性能视频生成的高级方法。我们将原…

李宏毅机器学习课程知识点摘要(6-13集)

pytorch简单的语法和结构 dataset就是数据集&#xff0c;dataloader就是分装好一堆一堆的 他们都是torch.utils.data里面常用的函数&#xff0c;已经封装好了 下面的步骤是把数据集读进来 这里是读进来之后&#xff0c;进行处理 声音信号&#xff0c;黑白照片&#xff0c;红…

gpt2的学习

现在学习下gpt2模型做摘要&#xff0c;我们都知道gpt2 是纯decoder&#xff0c;做摘要说话的效果较好。 把数据拆分 按照这个进行tokenizer 用这个tokenizer BertTokenizer.from_pretrained(‘bert-base-chinese’) 2w多词汇表 用交叉熵做lossf&#xff0c; 设好一些简单的…

网络安全设备

防火墙 防火墙是管理和控制网络流量的重要工具&#xff0c;防火墙适用于过滤流量的网络设备。防火墙根据一组定义的规则过滤流量。 静态数据包过滤防火墙 静态数据包过滤防火墙通过检查消息头中的数据来过滤流量。通常&#xff0c;规则涉及源、目标和端口号。静态数据包过滤防…

Python爬虫:深入探索1688关键词接口获取之道

在数字化经济的浪潮中&#xff0c;数据的价值愈发凸显&#xff0c;尤其是在电商领域。对于电商平台而言&#xff0c;关键词不仅是搜索流量的入口&#xff0c;也是洞察市场趋势、优化营销策略的重要工具。1688作为中国领先的B2B电商平台&#xff0c;其关键词接口的获取对于商家来…

SpringCloud Gateway转发请求到同一个服务的不同端口

SpringCloud Gateway默认不支持将请求路由到一个服务的多个端口 本文将结合Gateway的处理流程&#xff0c;提供一些解决思路 需求背景 公司有一个IM项目&#xff0c;对外暴露了两个端口8081和8082&#xff0c;8081是springboot启动使用的端口&#xff0c;对外提供一些http接口…

全面监测Exchange邮件服务器的关键指标

在当今高度信息化的社会&#xff0c;Exchange邮件服务器已成为企业日常通信的重要组成部分。为了确保邮件服务器的稳定运行&#xff0c;及时发现潜在问题并采取相应的解决措施显得尤为重要。监控易作为一款专业的监控工具&#xff0c;为Exchange邮件服务器提供了全方位的监测功…

实用功能,觊觎(Edge)浏览器的内置截(长)图功能

Edge浏览器内置截图功能 近年来&#xff0c;Edge浏览器不断更新和完善&#xff0c;也提供了长截图功能。在Edge中&#xff0c;只需点击右上角的“...”&#xff0c;然后选择“网页捕获”->“捕获整页”&#xff0c;即可实现长截图。这一功能的简单易用&#xff0c;使其成为…

IDEA2023版本配置项目全局编码

IDEA默认的项目编码是UTF-8&#xff0c;有时候拿到别人的代码使用的编码是GBK&#xff0c;虽然可以在idea右下角进行修改&#xff0c;但是一个一个的修改太慢了。所以需要去进行该项目的编码全局配置。接下来直接讲步骤&#xff0c;以IDEA2023版本为例。 第一步 File>Sett…