小迪安全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模型应用
近年来遥感技术得到了突飞猛进的发展,航天、航空、临近空间等多遥感平台不断增加,数据的空间、时间、光谱分辨率不断提高,数据量猛增,遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
