以“防方视角”观JS文件信息泄露

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓

    • 01 案例概述
    • 02 攻击路径
    • 03 防方思路

01 案例概述


这篇文章来自微信公众号“黑白之道”,记录的某师傅从js文件泄露接口信息,未授权获取大量敏感信息以及通过逻辑漏洞登录管理员账号,利用任意文件读取漏洞明确系统使用log4j组件,使用log4j漏洞获取服务器控制权限的过程。

记一次抽丝剥茧式的渗透测试【原文链接】



02 攻击路径

在这里插入图片描述

从攻击者视角了解攻击的全过程,以下为攻击过程:

(1)突破网络边界:攻击方的突破点是社工钓鱼,通过外网信息收集添加企业客服以及总监的微信,分别构造与客服业务相对应的话术以及商务合作等方式,诱导对方成功点击木马文件,获得PC终端控制权限。

(2)获取敏感信息:攻击方翻阅客服终端发现存在密码本文件,利用密码本记录信息成功登陆存在大量内部办公邮件的邮箱系统、存在2000w+记录信息的运营平台以及Zabbix系统等,并进一步发现运营平台存在SQL注入漏洞,可使用sqlmap获取数据库用户密码。攻击方翻阅总监终端发现存在某系统源码,审计源码发现该系统后台插件添加处存在任意文件上传漏洞,于是通过添加插件的方式对向服务器中写入webshell获取到多台服务器权限。

(3)扩大攻击成果:攻击方获取到多台服务器权限后,攻击者进一步翻阅配置文件、利用历史漏洞,拿到阿里云AK/SK可控制所有云上系统以及使用CVE-2021-22205漏洞获取到gitlab服务器权限,获取到大量内网系统账号密码,并通过配置文件成功获取Jenkins用户cookie成功登录Jenkins。


03 防方思路


站在防守单位的角度需吸取本案例的经验教训:

(1)首先前端js文件需仅显示必要的接口信息,对于涉及到敏感操作或数据的接口,需加强权限鉴别与控制机制。

(2)其次对于文件下载、文件读取功能,需健全完善的用户权限校验机制以及对文件资源路径与文件名的合法性校验机制。

(3)当系统开发过程引入第三方组件或采用开源框架时,如log4j组件,需谨慎识别是否为存在漏洞问题版本,确保第三方组件安全。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Appium使用初体验之参数配置,简单能够运行起来

一、服务器配置 Appium Server配置与Appium Server GUI(可视化客户端)中的配置对应,尤其是二者如果不在同一台机器上,那么就需要配置Appium Server GUI所在机器的IP(Appium Server GUI的HOST也需要配置本机IP&#xf…

C#,栅栏油漆算法(Painting Fence Algorithm)的源代码

1 刷油漆问题 给定一个有n根柱子和k种颜色的围栏,找出油漆围栏的方法,使最多两个相邻的柱子具有相同的颜色。因为答案可以是大的,所以返回10^97的模。 计算结果: 2 栅栏油漆算法的源程序 using System; namespace Legalsoft.Tr…

详细分析python中的 async 和 await(附Demo)

目录 前言1. 基本知识2. Demo2.1 Demo1(同步)2.2 Demo2(错误)2.3 Demo3(不正确的异步)2.4 Demo4(正确异步) 3. 完整版4. 拓展4.1 asyncio.create_task(coroutine)4.2 asyncio.gather…

PAT-Apat甲级题1009(python和c++实现)

PTA | 1009 Product of Polynomials 1009 Product of Polynomials 作者 CHEN, Yue 单位 浙江大学 This time, you are supposed to find AB where A and B are two polynomials. Input Specification: Each input file contains one test case. Each case occupies 2 lin…

【社交电商】带直播电商功能,可以DIY前端,可以H5和小程序一般商城常用功能齐全

第一次接触这个系统,感觉和微擎有点像。也是一个主体,也很多插件的那种。 测试了下。安装成功了,站长亲测没有问题,一切都挺完善的,不过系统比较庞大,可能新手熟悉起来要一定的过程。 站长整理了一份简要…

3060ti显卡+cuda12.1+win10编译安装生成fastdeploy的c++与python库

在cuda12中,调用官方发布的fastdeploy会出现报错,故此自行编译fastdeploy库。 官网编译教程:https://github.com/PaddlePaddle/FastDeploy/blob/develop/docs/cn/build_and_install/gpu.md 可选编译选项 编译选项 无论是在何平台编译,编译时仅根据需求修改如下选项,勿…

使用pygame生成红包封面

import pygame import sys# 初始化pygame pygame.init()# 设置红包封面尺寸 size width, height 640, 960 screen_color (255, 0, 0) # 红色背景# 创建窗口 screen pygame.display.set_mode(size) pygame.display.set_caption(红包封面)# 加载龙形图片 dragon_image pygam…

CDH6.3.2 多 Spark 版本共存

一 部署Spark客户端 1.1 部署spark3客户端 tar -zxvf spark-3.3.1-bin-3.0.0-cdh6.3.2.tgz -C /opt/cloudera/parcels/CDH/lib cd /opt/cloudera/parcels/CDH/lib mv spark-3.3.1-bin-3.0.0-cdh6.3.2/ spark3将 CDH 集群的 spark-env.sh 复制到 /opt/cloudera/parcels/CDH/li…

AcWing 1238 日志统计(双指针算法)

题目概述 小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 N 行。 其中每一行的格式是: ts id表示在 ts 时刻编号 id 的帖子收到一个”赞”。 现在小明想统计有哪些帖子曾经是”热帖”。 如果一个帖子曾在任意一个长度为 D 的时间段…

Unity2D 学习笔记 0.Unity需要记住的常用知识

Unity2D 学习笔记 0.Unity需要记住的常用知识 前言调整Project SettingTilemap相关(创建地图块)C#脚本相关程序运行函数private void Awake()void Start()void Update() Collider2D碰撞检测private void OnTriggerStay2D(Collider2D player)private void…

Sublime Text 3配置 Node.js 开发环境

《开发工具系列》 Sublime Text 3配置 Node.js 开发环境 一、引言二、主要内容2.1 初识 Sublime Text 32.2 初识 Node.js2.3 接入 Node.js2.3.1 下载并安装 Node.js2.3.2 环境变量配置 2.4 配置 Node.js 开发环境2.5 编写 Node.js 代码2.6 运行 Node.js 代码 三、总结 一、引言…

大数据术语系列(1)——COW和MOR,我如何使用chatgpt通俗易懂地理解了hudi这两种表类型

从传统数据库到大数据的转变,首当其冲的是各种术语的理解。 所以我与chatgpt发生了一系列对话,以便于我能快速理解这些术语。 我先把汇总的结果放在前边,后边会一步步地来说明我是如何获取这些信息的。前边我也发过一些关于chatgpt提示词相…