小迪安全43WEB 攻防-通用漏洞任意文件下载删除重装敏感读取黑白审计
#知识点:
1、文件操作类安全问题
2、文件下载&删除&读取
3、白盒&黑盒&探针分析
#详细点:
文件读取:基本和文件下载利用类似
文件下载:利用下载获取源码或数据库配置文件及系统敏感文件为后续出思路
文件删除:除自身安全引发的文件删除外,可配合删除重装锁定文件进行重装
Ø 审计分析-文件下载-XHCMS-功能点
Ø 审计分析-文件读取-MetInfo-函数搜索
Ø 审计分析-文件删除-74CMS-函数搜索
Ø 黑盒分析-下载读取-下载资源 URL 参数
#白盒审计:
1、文件下载 Ø 审计分析-文件下载-XHCMS-功能点
XHCMS白盒分析


代码逻辑:是将?后的参数若不为空,则在file文件夹下,参数加后缀.php
http://127.0.0.1/xhcms/?r=download

能够发现:数据库查询过来->$down['softadd']->$fileadd->$sourceFile->文件下载
因此我们可以对查看下载文件功能对数据库download有插入的操作文件,来实现任意文件下载


因此,访问其功能点http://127.0.0.1/xhcms/admin/?r=newsoft

写入参数

在之前的页面中点入下载

发现它下载我指定的文件

流程-功能点抓包-寻代码文件-寻变量控制-构造测试
Payload: softadd=d:/1.txt softadd2=d:/1.txt
分析:比较鸡肋,因为正常来说,是要进入后台才能进行的功能,也就是说只有等管理员配置不当的情况,就可以尝试
下载文件URL:
没有安全问题:就是网站的正常形式
www.xxx.com/soft/2.zip——直连下载
www.xxx.com/soft/index.php——直接访问
可能有安全问题
www.xxx.com/down?file=1.zip
下载协议去解析文件
www.xxx.com/down?file=index.php
示例:http://67.202.70.133/files/readfile.php?file=../index.php

文件删除:74CMS-配合删除重装
函数关键字搜索unlink等,发现可控变量/upload/admin/admin_article.php

分析代码逻辑,img是一个可控变量$thumb_dir会被加入../data的前缀,act=del_img为if的判断语句

Web访问,发现确实有删除的功能

流程-特定函数搜索-寻触发调用-构造 Payload 测试
Payload:
/admin/admin_article.php?act=del_img&img=../../data/install.lock
重装网站:就是把数据库连到外网等操作
文件读取:MetInfo-任意读取
函数关键字搜索readfile等


可控变量$dir——GET和代码逻辑需要http,且它是一个对象,找谁调用了它

是一个头文件,将其定义
流程-特定函数搜索-寻触发调用-构造 Payload 测试
Payload:/include/thumb.php?dir=http\..\..\config\config_db.php

#黑盒探针
1、URL 参数名及参数值分析:
参数名:英文对应翻译
参数值:目录或文件名
2、功能点自行修改后分析:
文件下载,删除,读取等
相关文章:
小迪安全43WEB 攻防-通用漏洞任意文件下载删除重装敏感读取黑白审计
#知识点: 1、文件操作类安全问题 2、文件下载&删除&读取 3、白盒&黑盒&探针分析 #详细点: 文件读取:基本和文件下载利用类似 文件下载:利用下载获取源码或数据库配置文件及系统敏感文件为后续出思路 …...
大模型提示学习样本量有玄机,自适应调节方法好
引言:探索文本分类中的个性化示例数量 在自然语言处理(NLP)领域,预测模型已经从零开始训练演变为使用标记数据对预训练模型进行微调。这种微调的极端形式涉及到上下文学习(In-Context Learning, ICL)&…...
Redis监控工具
Redis 是一种 NoSQL 数据库系统,以其速度、性能和灵活的数据结构而闻名。Redis 在许多领域都表现出色,包括缓存、会话管理、游戏、排行榜、实时分析、地理空间、叫车、聊天/消息、媒体流和发布/订阅应用程序。Redis 数据集完全存储在内存中,这…...
低代码表单设计器为企业数字转型强劲赋能!
想要实现数字化转型,创造流程化办公,让企业在信息高速发展的社会中抢占更多市场份额,进一步提升市场竞争力,就需要借助专业的软件平台提高效率。低代码开发平台拥有易操作、灵活、可视化的发展优势,作为一种新型的应用…...
【C#】Conventions(惯例)最佳实践和准则
在C#中,Conventions(惯例)是指编写代码时的一套最佳实践和准则。这些惯例旨在提高代码的可读性、一致性和可维护性。虽然这些惯例不是语言的强制规则,但遵循它们可以使你的代码更加清晰和专业。 以下是一些常见的C#编码惯例: 命名约定: 使用有意义的、描述性的名称。类名和公…...
vue3中使用cesium
vue3中使用cesium Cesium是一个开源的JavaScript库,专门用于创建3D地球和2D地图的Web应用程序。它提供了丰富的功能和工具,使得开发人员能够轻松地构建出高质量的地理空间可视化应用。 1. 安装cesium包 npm install cesium2. 复制node_modules中的Ces…...
arduino ide 开发esp8266注意事项
1.引脚序列号必须是常量来定义,否则会无限重启。 #define p2 2 const int Pin2p2; pinMode(Pin2, OUTPUT); 2.关于wifi的模式,ap,sta,apsta三种模式的初始化必须放在void set_up(){}这个函数里,不能额外搞个自定义函数…...
RTC协议与算法基础 - RTP/RTCP
首先,需要说明下,webrtc的核心音视频传输是通过RTP/RTCP协议实现的,源码位于src/modules/rtp_rtcp目录下: 下面让我们对相关的内容基础进行简要分析与说明: 一、TCP与UDP协议 1.1、TCP协议 TCP为了实现数据传输的可…...
c语言游戏实战(8):飞机大作战
前言: 飞机大作战游戏是一种非常受欢迎的射击类游戏,玩家需要控制一架战斗机在屏幕上移动,击落敌机以获得分数。本游戏使用C语言编写,旨在帮助初学者了解游戏开发的基本概念和技巧。 在开始编写代码之前,我们需要先了…...
docker 部署k8s相关命令操作
1.安装docket 可参考其他网站 2.docker ps 3.docker images 4.docker ps -all 5.docker pull openjdk:8 安装jdk8 6.docker load < jdk.tar 自己有jdk8 7.打包jar服务 ,需要依赖一个打包文件Dockerfile,如下 文件内容如下 FROM openjdk:8u275-j…...
使用Tesseract识别中文 并提高精度
1. 使用中文训练数据 在使用pytesseract进行中文文本识别时,确保安装了中文的训练数据文件。在Tesseract的安装目录下的tessdata文件夹中应包含一个名为chi_sim.traineddata(简体中文)或chi_tra.traineddata(繁体中文)…...
基于Jenkins + Argo 实现多集群的持续交付
作者:周靖峰,青云科技容器顾问,云原生爱好者,目前专注于 DevOps,云原生领域技术涉及 Kubernetes、KubeSphere、Argo。 前文概述 前面我们已经掌握了如何通过 Jenkins Argo CD 的方式实现单集群的持续交付,…...
关于javascript数字精度丢失的解决办法
分析原因 众所周知,在JavaScript中计算两个十进制数的和,有时候会出现令人惊讶的结果,主要原因是计算机将数据存储为二进制所引起的,所以这并不是javascript存在的缺陷,而在其他语言中也有类似的问题。 例如下面的例子…...
每日一题 第二十一期 洛谷 组合的输出
组合的输出 题目描述 排列与组合是常用的数学方法,其中组合就是从 n n n 个元素中抽出 r r r 个元素(不分顺序且 r ≤ n r \le n r≤n),我们可以简单地将 n n n 个元素理解为自然数 1 , 2 , … , n 1,2,\dots,n 1,2,…,n&a…...
JavaScript 面试题
问题 1 // 请解释什么是 JavaScript 中的原型继承,以及原型链的概念答案 1 原型继承是 JavaScript 中实现继承的一种方式,每个对象都有一个指向另一个对象的引用,这个对象就是原型。当访问对象的属性或方法时,如果对象本身没有该…...
java输入语句scanner
在Java中,Scanner 类是 java.util 包中的一个类,它用于获取用户的输入。要使用 Scanner 类,你首先需要导入这个类,然后创建一个 Scanner 对象,通常命名为 scanner。你可以使用这个对象来读取用户从键盘输入的数据。 以…...
Python从入门到精通秘籍十一
一、Python之自定义模块并导入 在Python中,我们可以自定义模块并将其导入到其他Python程序中使用。自定义模块可以包含函数、类、常量等,便于组织和重用代码。 下面是使用Python代码详细讲解自定义模块的创建和导入的例子: 假设我们有两个…...
WRF模型教程(ububtu系统)-WPS(WRF Pre-Processing System)概述
一、WPS简介 WRF 预处理系统 (WRF Pre-Processing System,WPS) ,集成了基于Fortran和C编写的程序,这些程序主要用于处理输入到real.exe的数据。WPS主要有三个程序和一些辅助程序。 二、各程序介绍 主要的程序为geogrid.exe、ungrib.exe、met…...
C语言向C++过渡的基础知识(一)
目录 C关键字 C命名空间 命名空间的介绍 域作用限定符 命名空间的使用 C的输入以及输出 C中的缺省参数 缺省参数的介绍 缺省参数的使用 缺省参数的分类 全缺省参数 半缺省参数 C关键字 在C中,有63个关键字,而C语言只有32个关键字 asm do i…...
GEE遥感云大数据林业应用典型案例及GPT模型应用
近年来遥感技术得到了突飞猛进的发展,航天、航空、临近空间等多遥感平台不断增加,数据的空间、时间、光谱分辨率不断提高,数据量猛增,遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
