记一次从登录框到前台rce

ops/2024/9/25 8:27:08/

接口未授权挖掘

        在网站未登录的情况下,由于不知道后台接口。唯一办法通过js文件、路径扫描。通过这种收集方式使用burp进行批量扫描,分别探测GET/POST请求。观察响应包跟状态码。判断响应包,确定存在未授权后,再构造数据包。

图片

2

突破登录框

       在测试站点中,很多时候不提供测试账号。此时,就需要一个尝试爆破账号,但是有时候会有验证码(重发登录包,50%假验证码)。正好这次没有验证码。

图片

拿到这种网站,先判断一下有无用户名猜解。判断存在与不存在账号。测试常见的admin、admin321,观察它们之间的提示。就算发现有这个admin账号,但是有密码错误锁定的情况,那么就尝试爆破账号。(手机号码与常规账号,总会有测试账号或者总会有人设置弱口令)

图片

密码设置为弱口令123456,账号为字典进行爆破,根据响应包大小进行判断。最终拿到测试账号。

3

后台漏洞挖掘

       通过测试账号进入后台,额外注意接口跟上传下载点。由于这个我们没有网站代码,只能访问相关功能,并burp插件Autorize记录探测那些接口存在未授权。通过页面翻找,找到一个正常的上传点。

图片

构造正常上传一个txt文件,发现这个功能先是上传后并读取该文件。

图片

并尝将cookie凭证删除,发现仍然可以上传。

图片

那么将它转成是前台的上传漏洞了。经过测试发现,目录也是可以穿越的,文件名可以任意。读取文件接口也存在穿越问题。

图片

根据接口判断,该网站是可能是springboot的,显然上传jsp是不行。那么还剩下两个方式拿权限。一是上传ssh登录凭证、二是写定时任务反弹回来。扫描了一下ip,发现ssh端口未对外。于是尝试定时任务。

图片

等了几分钟没反弹回来,通过于是又看了一下定时任务的日志。

图片

最近的定时任务日志是在前一天,要么就是服务器时间慢了一天,或者是定时任务管理器在前一天被停了。再次尝试写定时任务。

* * * * * *  whoami>/tmp/data.txt

仍然无法读取到tmp下面的data文件,至此确定定时任务真没起来。

4

柳暗花明

        难道真的无法getshell了吗?通过下载接口,读取root用户的历史命令。找到网站路径。

图片

看到这个webapps,瞬间精神了。直接构造上传路径,并输出jsp文件。上传shell~

图片

哥斯拉连接上去,上个whoami截图。

图片

通过检查网站文件,发现是一个tomcat里面有个目录是springboot。但是网站没见到其他的jsp文件。

图片

这种开发方式属实少见。网站也是通过war方式部署。

由于是未授权的上传点。也算是前台rce了~


http://www.ppmy.cn/ops/32369.html

相关文章

FloodFill-----洪水灌溉算法(DFS例题详解)

目录 一.图像渲染: 代码详解: 二.岛屿数量: 代码详解: 三.岛屿的最大面积: 代码详解: 四.被围绕的区域: 代码详解: 五.太平洋大西洋水流问题: 代码详解&#x…

etcd源码流程---调试环境的搭建

etcd启动命令: name必须设置,否则会用default,集群内不同etcd实例的名字应该是唯一的,因为他会有一个map(name->ip)。如果initial-cluster-state设置为new,那么他会创建一个新的clusterid。需要在initial-cluster中…

K8s: Prometheus 监控主机 和 K8s 集群

Prometheus 监控主机 和 K8s 集群 1 )搭建 Prometheus 创建对应 ServiceAccount 达成角色访问的目的,避免所有人都能看到 创建配置相关的 configmap 定义了一堆的任务,收集各个层面的监控数据 创建告警规则相关的configmap 比如内存大于 75%…

初识Vue-组件通信(详解props和emit)

目录 一、组件通信介绍 1.概念 2.作用 3.特点 4.应用 二、组件通信语法 1.Props 1.1.在子组件中声明 props 1.2.在父组件中传递数据 2.Emit 2.1.在子组件中触发事件 2.2.在父组件中监听事件 三、应用实例 1. 购物车组件 2. 表单数据处理 四、总结 一、组件通信介…

【opencv4.8.1 源码编译】windows10 OpenCV 4.8.1源码编译并实现 CUDA 12加速

Windows 下使用 CMake3.29.2 Visual Studio 2022 编译 OpenCV 4.8.1 及其扩展模块cuda12.0teslaT4显卡 记录自己在编译时踩过的坑,避免下次再犯或者给有需要的人。 在实际使用中,如果是对处理时间要求比较高的场景,使用OpenCV处理图片数据很…

关于链表带环问题为什么要用快慢指针

判断链表是否带环 题目描述 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连…

【Unity Consoler Redirection】Unity Log 跳转重定向

Unity Log 跳转重定向 为何要写这个重定向?开始 Hello大家好,这里VimalaEric,今天给大家介绍一个实用脚本 UnityConsoler 跳转重定向。 为何要写这个重定向? 因为有时候会自己写脚本打log,从而实现如输出不同的颜色、…

数据结构——哈希表的平均查找长度

我们要首先知道哈希表是干什么的,哈希表并不是为了单纯存储数据的,他并不会减小存储这些数据使用的空间,而是为了实现快速的数据查找,插入和删除操作。map就可以使用哈希表来实现,所以map可以实现利用键来快速访问到值…