pikachu之不安全的文件下载概述

2023-11-01

不安全的文件下载概述
文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后 会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。 如果后台在收到请求的文件名后,将其直接拼进下载文件的路径中而不对其进行安全判断的话,则可能会引发不安全的文件下载漏洞。
此时如果 攻击者提交的不是一个程序预期的的文件名,而是一个精心构造的路径(比如…/…/…/etc/passwd),则很有可能会直接将该指定的文件下载下来。 从而导致后台敏感信息(密码文件、源代码等)被下载。
所以,在设计文件下载功能时,如果下载的目标文件是由前端传进来的,则一定要对传进来的文件进行安全考虑。 切记:所有与前端交互的数据都是不安全的,不能掉以轻心!
你可以通过“Unsafe file download”对应的测试栏目,来进一步的了解该漏洞。
登陆页面之后,尝试下载,并用burpsuit进行抓包
在这里插入图片描述
我们可以看到,文件名直接就在request包里了,我们更改之后尝试下载其他文件。
在这里插入图片描述
攻击成功!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pikachu之不安全的文件下载概述 的相关文章

  • Sapir—Whorf Hypothesis (萨皮尔—沃尔夫假说)

    Sapir Whorf Hypothesis 萨皮尔 沃尔夫假说 Sapir Whorf Hypothesis 的思想源头可追溯到德国哲学家海德 G Herder 1744 1803 Wilhelm von Humboldt 1762 18
  • Linux终端退出程序不退出解决方案(nohup/screen)

    终端异常退出后 后台进程不关闭的解决办法 1 使用nohup命令 nohup
  • 作业:递归实现插入排序和在o(nlgn)时间复杂度内寻找和为定值的两个元素

    1 递归实现插入排序 基本思想 可以把插入排序看作递归 地排序A 1 n 1 然后插入a n 到已经排好序的序列a 1 n 1 中 一下是实现算法 C 描述 VS205中调试通过 class InsertSort static void M
  • 第二周作业 暴力破解——1.基于表单的暴力破解 2.验证码绕过(on client) 3.验证码绕过(on server)

    一 先将在课程重演中出现的问题放在最前面 1 在设置完代理后出现了BurpSuite不能拦截localhost 127 0 0 1的情况 最后发现火狐浏览器中有个地方引起的 把其中内容删除掉就能拦截成功了 2 导入字典后无法攻击 在路径上不
  • 理解矩阵(一)

    前不久chensh出于不可告人的目的 要充当老师 教别人线性代数 于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次 很明显 chensh觉得 要让自己在讲线性代数的时候不被那位强势的学生认为是神经病 还是比较难的事情 可怜的chens
  • Java赛马程序

    编写一个多线程的控制程序 称为赛马程序 创建分别代表两匹马的两个线程 并将它们设置为高低不同的优先级 并以进度条的形式显示赛马过程 没几天Java要考试了 紧急学习一下再把之前参考 10条消息 Java多线程 进度条实现赛马实验 shall
  • 线性回归实现人脸识别——ORL数据集

    今天写一个比较简单的机器学习例子 使用线性回归实现人脸识别 使用的数据集是ORL数据集 算法描述 输入 图片矩阵img 标签信息label 测试图片test 对每一个类 第一步 从图片矩阵中读出来一类图片 划分为训练集 X 与测试集 y 第
  • 爬取湖北师范大学官网新闻信息

    爬虫 内容 要求 分析 爬取摸个面板 部分代码 写入CSV文件的方法 综合代码 内容 要求 爬取湖北师范大学校园官网新闻 将其标题 内容 来源和发布时间写入CSV文件中 分析 湖北师范大学校园官网新闻网页 由于刚开始爬取可以根据其模块将其慢
  • C#使用Quartz.NET详细讲解

    Quartz NET是一个开源的作业调度框架 是OpenSymphony 的 Quartz API的 NET移植 它用C 写成 可用于winform和asp net应用中 它提供了巨大的灵活性而不牺牲简单性 你能够用它来为执行一个作业而创建
  • 变量那些事

    什么是变量 变数或变量 是指没有固定的值 可以改变的数 变量以非数字的符号来表达 一般用拉丁字母 变量是常数的相反 变量的用处在于能一般化描述指令的方式 结果只能使用真实的值 指令只能应用于某些情况下 变量能够作为某特定种类的值中任何一个的
  • # HTB-Tier2- Oopsie

    HTB Tier2 Oopsie Tags PHP Web Custom Applications Session Handling Apache Penetration Tester Level 1 Reconaisance Web Si
  • HTB-Tier2- Unified

    HTB Tier2 Unified Tags Web Vulnerability Assessment Databases Injection Custom Applications Outdated Software MongoDB Ja
  • 机器学习初实践——恶意域名检测

    这次恶意域名检测实践是第一次自己做机器学习而非单纯复现 参考了第一次鸢尾花的代码和GitHub的UrlDetect中的特征提取参数的代码 一 数据处理 首先要实现自动化处理数据 在这里我没有使用urlparser而是直接写脚本提取域名 提取
  • 车盲普及贴系列.一.到底什么样车才安全

    车盲普及贴系列 一 到底什么样车才安全 最近几年 国内汽车产业蓬勃发展 各大汽车论坛里自然也是吵得不可开交 持不 同观点大打口水仗 初次购车的往往无法分辩各类言论的真实性 笔者虽不是汽车 工程的专业人士 但秉着客观的立场 决定写一些相关文章
  • 课堂小作业之3位水仙花数计算

    3位水仙花数计算 描述 3位水仙花数 是指一个三位整数 其各位数字的3次方和等于该数本身 例如 ABC是一个 3位水仙花数 则 A的3次方 B的3次方 C的3次方 ABC
  • 清华梦的粉碎-写给清华大学的退学申请

    作者 王垠 清华梦的诞生 小时候 妈妈给我一个梦 她指着一个大哥哥的照片对我说 这是爸爸的学生 他考上了清华 大学 他是我们中学的骄傲 长大后 你也要进入清华大学读书 为我们家争光 我不知道清华是什么样子 但是我知道爱迪生和 牛顿 的故事
  • 整型有哪几种形式?各种形式有什么区别?

    整型有哪几种形式 C 中提供的整数类型有三种 int long short 每种类型又分为有符号和无符号两种类型 有符号整数既可以表示非负整数 又可以表示负整数 但是 无符号整数不能表示负数 只能表示非负整数 一 无符号整数 在内存中 in
  • 小学奥数题使用python解决(使用2倒9中不重复的数使得{}+{}={}{}-{}=1{}满足)

    使用2 9中不重复的数使得 1 满足 样子不太好看 1 利用for循环和if语句 代码 利用2 9不重复的数使得 1 i 0 for a1 in range 2 10 for a2 in range 2 10 if a1 a2 and a1
  • 6月17日实验课之“H.264文件解析”

    文章目录 1 实验要求 2 实验结果 2 1 SPS 2 1 1 profile idc 2 1 2 level idc 2 1 3 seq parameter set id 2 1 4 log2 max frame num minus4
  • 【JavaWeb】 练习二

    1 gt 实现登录 如果用户名密码错误 转入到登录页面 提示信息 用户名密码错误 2 gt 如果用户不登录 直接访问展示页面 也需要转入到登录页面 提示信息 请先登录在访问 3 gt 实现退出功能 转到登录页面 4 gt 统计查看展示页面的

随机推荐

  • LeetCode技巧篇(一)prefix sum 前缀和

    介绍 前缀和 prefix sum 是算法题中比较实用的一种技巧 当算法题的背景是整数型数组且出现 子数组和 或者 连续的子数组 既可以考虑使用前缀和来求解会得到不错的效果 假设给定的数组A各个元素分别为 那么我们可以得到一个前缀和数组B
  • ICCV 2023

    点击下方卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 点击进入 gt 3D点云和Transformer 交流群 本文介绍我们在ICCV 2023上接收的论文 PointCLIP V2 Adapting CLIP for P
  • snull驱动环境搭建与测试分析

    Here are possible values for the network numbers Once you put these lines in etc networks you can call your networks by
  • SpringBoot/Spring Cloud常见注解(面试)

    RequestMapping 在Spring MVC 中使用 RequestMapping 来映射请求 也就是通过它来指定控制器可以处理哪些URL请求 将请求和处理请求的控制器方法关联起来 建立映射关系 这个控制器方法请求路径为http l
  • inno setup的安装及简单使用

    文章目录 安装 使用 1 添加中文安装字体 2 制作使用管理员权限启动的安装包 2 1下载安装 Resource Hacker http www angusj com resourcehacker 2 2 安装并打开ResourceHack
  • C++ ——模板 & 标准模板库STL

    C 知识基础 流操作符 类 基础 初始化和重载 类 高级 继承和多态 模板 标准模板库STL 目录 C 一 模板 1 函数模板 2 类模板 二 标准模板库STL 1 容器类 Container 2 迭代器 Iterator 3 泛型算法 总
  • PF_INET AF_INET

    在写网络程序的时候 建立TCP socket sock socket PF INET SOCK STREAM 0 然后再绑定本地地址或连接远程地址时需要初始化sockaddr in结构 其中指定address family时一般设置问AF
  • 2020-09-06

    第二章 Nginx虚拟主机和负载均衡 1 虚拟主机 虚拟主机 英语 virtual hosting 或称 共享主机 shared web hosting 又称虚拟服务器 是一种在单一主机或主机群上 实现多网域服务的方法 可以运行多个网站或服
  • 水电图wp表示什么_装修水电工入门基础知识,刚入行不懂不用急?老师傅告诉你怎么做...

    装修水电工泛指室內装饰装潢水电安装工人 作为装修水电工 不但要懂得水电安装的基本技术规范 施工顺序 验收常识 在施工中 还得与硬装部分的木工 瓦工 腻子工等工种相互配合安装 及软装部分的壁纸工 布艺工等相互协作 装修水电工是技术性要求很强的
  • 11.测试代码

    测试函数 单元测试用于核实函数的某个方面没有问题 测试用例是一组单元测试 一起核实函数各种情形下的行为都符合要求 全覆盖式测试用例包含一整套单元测试 涵盖了各种可能的函数使用方式 为函数编写测试用例 可先导入模块unittest以及要测试的
  • 以下哪个不是python合法的标识符_哪个不是python合法标识符

    标识符是电脑语言中允许作为名字的有效字符串集合 Pyhon标识符规则 1 第一个字符必须是字母或是下划线 即不能以数字开 2 剩下的字符可以是字母 数字和下划线 即不能包含除了下划线以外的符号 空格 运算符 3 大小写敏感 4 Python
  • STM32单片机基础20——使用DAC输出任意指定电压

    本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的DAC外设 输出任意指定电压值 1 准备工作 硬件准备 开发板 首先需要准备一个开发板 这里我准备的是STM32L4的开发板 BearPi 万用表 软件准备 需要
  • kconfig常用语法,入门必看

    kconfig 1 kconfig简单介绍 Kconfig用来配置内核 它就是各种配置界面的源文件 内核的配置工具读取各个Kconfig文件 生成配置界面供开发人员配置内核 最后生成配置文件 config 2 kconfig和makefil
  • 自己用js做一个搜索栏,超级简单

    csdn很少上线 经常在掘金摸鱼 本文掘金链接https juejin cn post 7058602557987356708 言归正传 为什么要做这个小案例呢 首先我有极度严重的强迫症 对于设备交互界面的追求是越整洁越好 另外由于我的专业
  • 数分工作了三年,我干了件很酷的事情

    目录 1 开始组建微信群 2 寻找到知识星球 3 使用微信圈子 4 使用语雀 5 开始使用飞书 从17年毕业来 一直都在干数据分析的工作 和很多转行的小伙伴一样 没有对口的科班学习 摸不清数据分析具体情况 起初充满着很多迷茫 在刚开始的1年
  • System.Text.Encoding.Default.GetString()后面无法再添加字符

    项目场景 使用 System Text Encoding Default GetString 参数1 时 传入的参数1未填满空间大小 后面仍需添加字符串或字符 问题描述 当参数1未填满空间 System Text Encoding Defa
  • Android学习路线

    Android学习路线 第一阶段 Java面向对象编程 1 Java基本数据类型与表达式 分支循环 2 String和StringBuffer的使用 正则表达式 3 面向对象的抽象 封装 继承 多态 类与对象 对象初始化和回收 构造函数 t
  • 17.网络爬虫—Scrapy入门与实战

    网络爬虫 Scrapy入门与实战 Scrapy基础 Scrapy运行流程原理 Scrapy的工作流程 Scrapy的优点 Scrapy基本使用 豆瓣网为例 创建项目 创建爬虫 配置爬虫 运行爬虫 如何用python执行cmd命令 数据解析
  • 基于R语言的贝叶斯网络模型、现代贝叶斯统计学方法

    基于R语言的贝叶斯网络模型实践技术应用 贝叶斯网络不但能够统合已有的各种统计学方法 如混合回归模型 LASSO 自回归模型 隐马模型等等 而且在很大程度上能够弥补统计学模型不能够进行因果推断的缺憾 以开源的R语言为平台 通过理论和实践相结合
  • pikachu之不安全的文件下载概述

    不安全的文件下载概述 文件下载功能在很多web系统上都会出现 一般我们当点击下载链接 便会向后台发送一个下载请求 一般这个请求会包含一个需要下载的文件名称 后台在收到请求后 会开始执行下载代码 将该文件名对应的文件response给浏览器