搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
羊村懒王
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Android课设简单实现远程数据库操作——图书管理的增删改查。
2
logback控制台不打印logger.info()日志_loggerinfo日志没出来
3
uniapp:实现手机端APP登录强制更新,从本地服务器下载新的apk更新,并使用WebSocket,实时强制在线用户更新_uniapp app在线升级
4
一起了解开源自定义表单的优势表现
5
Shiro反序列化漏洞利用详解(Shiro-550+Shiro-721)_shiro 550与721加密方式
6
SQL中的窗口函数_sql窗口函数
7
快速了解:数据库的分类,OLTP、OLAP与HTAP
8
pytorch-11 神经网络的学习
9
MySQL 高级知识之使用 mysqldump 备份和恢复
10
el-table样式美化_el-table 好看的样式
当前位置:
article
> 正文
任意文件下载_若依 文件下载验证
作者:羊村懒王 | 2024-05-19 23:07:36
赞
踩
若依 文件下载验证
https://bbs.ichunqiu.com/thread-23587-1-1.html
前言
本次分享的是web安全漏洞中的任意文件下载,前段时间比较忙,今天抽空写了个简单的下载功能,代码运行的时候有点问题,但是不影响下载程序运行,我也就懒得改了,多多包含哈。
任意文件下载漏洞描述
一些网站由于业务需求,可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意的文件,可以是源代码文件、敏感文件等,就会造成任意文件下载漏洞。
任意文件下载漏洞的表现形式
任意文件下载总结来说,有以下三种表现形式:
1、存在文件下载功能
网站文件下载功能形式多种多样,页面功能大致如下:
Url表现形式如下:
http://localhost:8080/javatest/downloadFile.action?jpgPath=/download/&jpgName=test.jpg
如果单从参数命看,表现形式多种多样,当渗透时遇到以下类型可以稍加注意:
&filepath=
&relpath=
&path=
&url=
&name=
&filename=
&src=
&dir=
&data=
......
2、文件名参数可控,并且系统未对参数作过滤或者过滤不全
文件名参数就是要下载的文件名,可以用brupsuite抓包看见,表现形式多种多样,大概如下:
在代码中的表现形式如下,此处文件路径和文件名都是从前端获取,然后执行下载操作:
3.文件内容输出或者保存在本地
当文件内容可被下载任意看见,就会造成任意文件读取漏洞,不在此处讨论,当文件保存后,能被攻击者看见内容,就会造成任意文件下载漏洞,表现形式如下:
下载功能代码如下:
任意文件下载漏洞验证
此处代码存在任意文件下载漏洞,表现形式如下:
当文件正常下载时,brupsuite截图如下:
此处替换文件名为“WEB-INF/web.xml”,下载系统配置文件:
可以看到此时下载文件失败,返回不一样的结果。
但是可以添加“../”跳转目录:
可以看出上面返回web.xml问内容,表示下载成功(若返回下载失败,可以继续添加“../”,直到下载成功,若依旧不成功,可能文件不存在或者无漏洞,自己多试试)。
也可以输入很多“../”,直接回溯到根目录,下载可能存在的系统文件:
部分敏感文件如下:
Linux:
/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts
/etc/httpd/conf/httpd.conf
/root/.bash_history
/root/.mysql_history
/proc/self/fd/fd[0-9]*(文件标识符)
/proc/mounts
/porc/config.gz
/etc/passwd
/etc/shadow
/etc/my.cnf
Windows:
C:\Program Files\mysql\my.ini //Mysql配置
C:\Program Files\mysql\data\mysql\user.MYD //Mysql root
C:\Windows\php.ini //php配置信息
C:\Windows\my.ini //Mysql配置信息
C:\boot.ini //查看系统版本
C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件
C:\Windows\repair\sam //存储系统初次安装的密码
...
任意文件下载漏洞的修复
漏洞修复可以根据自身业务需要修改,大致修复方法如下:
1、对文件下载进行过滤,过滤掉“./”、“../”、“%”等,代码如下:
当输入“../”时:
但是可以构造完整路径,下载任意文件:
2、对下载的文件路径进行严格控制,只允许下载某部分目录下的文件:
2、对下载文件后缀名做严格控制
程序员学习公众号:
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/羊村懒王/article/detail/595001
推荐阅读
article
Linux
mkdir
命令
参数和选项...
mkdir
命令
是
Linux
操作系统中一个非常重要的
命令
,它可以帮助我们创建新的目录。在这篇博客中,我们介绍了
mkdir
命...
赞
踩
article
第十八届
全国
大学生
智能
车竞赛 - 奖项汇总_
全国
大学生
智能
车竞赛
获奖
名单
...
六、现场工程挑战赛
获奖
名单
。一、竞速比赛一等奖
名单
。二、竞速比赛二等奖
名单
。三、竞速比赛参与奖
名单
。五、特邀表演赛
获奖
名...
赞
踩
article
一文看懂现代
Android
开发
最佳实践_
android
项目
gradle
引入
flow
...
What is MAD?MAD 的全称是 Modern
Android
Development , 它是一系列技术栈和工...
赞
踩
article
HBase
学习
六:
LSM
树
算法...
随着写入的增加,内存数据会不断地刷新到磁盘上。最终磁盘上的数据文件会越来越多。如果数据没有任何的读取操作,磁盘上产生很多...
赞
踩
article
Ubuntu
安装
Node
.
js
v18.16
.0_node
js
18.16.0...
打开终端并更新包管理器:安装
Node
.
js
v18.16
.0:确认
Node
.
js
是否已成功安装:node -v如果...
赞
踩
article
每个
知识库
管理系统
必备
的
七大关键
功能
_
知识库
功能
点...
知识库
是企业知识管理
的
最佳做法之一,在国外已成为人人必备
的
知识窗口。建立一个合格
的
知识库
,不仅能传承企业宝贵
的
知识财富,...
赞
踩
article
空间
数据库_
空间
数据库
实例
...
(一)基础知识(1)每个
空间
实例
都有一个
空间
引用标识符 (SRID)(2)SRID 对应于基于特定椭圆体的
空间
引用系统,...
赞
踩
article
TCP
拥塞
控制策略
_
tcp
协议中采用了哪些
拥塞
控制策略
?慢
开始
算法
是如何工作的?...
一、Reno1、
算法
执行示意 图1
算法
执行图2、
算法
原理Reno是一种基于丢包的
拥塞
控制
算法
,将丢包视...
赞
踩
article
MATLAB
算法
实战
应用
案例精讲-【
云
计算
】
云
网络
技术...
云
计算
时代,资源的虚拟化和资源调配的自动化,为用户提供了弹性的
计算
、存储和
网络
资源,进而支持快速和简捷的业务部署。作为互...
赞
踩
article
防静电
劳保鞋
:工业
安全
中的隐形
守护者
...
因此,
防静电
措施在工业
安全
中显得尤为重要。在众多
防静电
措施中,
防静电
劳保鞋
作为工作人员脚下的隐形
守护者
,发挥着不可替代的...
赞
踩
article
HBase
中
的
数据
索引
与查询策略...
1.背景介绍1. 背景介绍
HBase
是一个分布式、可扩展、高性能
的
列式存储系统,基于Google
的
Bigtable设计。...
赞
踩
article
nacos
配置
中心
使用
教程_怎么
配置
nacos
配置
中心
...
nacos
配置
中心
使用
教程 _怎么
配置
nacos
配置
中心
怎么
配置
nacos
配置
中心
nacos
配...
赞
踩
article
pycharm
安装
库时显示Non-
zero
exit
code
(
2
)_non
zero
exit
cod...
在使用
pycharm
安装
库总是出现
安装
不成功的提示‘Non-
zero
exit
code
(
2
)’错误提示:最后找了很多...
赞
踩
article
搭建和配置
Stable
Diffusion
环境
,超详细的本地部署教程_
stable
diffusio...
跃然纸上的创意、瞬息万变的想象,
Stable
Diffusion
以AI的力量赋予您无限创作可能。在这篇详尽的本地部署教程...
赞
踩
article
springboot
如何配置
nacos
_
springboot
nacos
配置...
在application.properties中添加
nacos
配置中心的信息。添加Nacos依赖:在pom.xml文件中...
赞
踩
article
uC/
OS
-II
系统
学习笔记(5)—— uC/
OS
-II概述下篇_
如果
系统
允许
的
最大
任务
数
为
6
4,现...
任务
的
调度器,
系统
占用
的
空闲
任务
和统计
任务
,
系统
的
初始化和多
任务
的
启动_
如果
系统
允许
的
最大
任务
数
为
6
4,现有
优先级
为
2
、...
赞
踩
article
入职
微软三个月炒掉
老板
,
七个月
自己
也
跑
了
,
电视剧都不敢这样拍...
面试前的“练手”还是很重要的
,
所以开始面试之前一定要准备好啊
,
不然
也
是耽搁面试官和
自己
的时间。我
自己
是刷
了
不少面试题的
,
...
赞
踩
article
Github
Actions
自动化
部署
,定时推送消息_
github
自动化
部署
...
微信测试号借助
Github
Actions
定时推送。_
github
自动化
部署
github
自动化
部署
...
赞
踩
article
c++
的
json
库_
c++
json
库...
现在
c++
的库其实实现都差不多,因为没有
c++
没有反射功能,所以只能按照键值对方式组合和解析。每个库原理差不多,主要是接...
赞
踩
article
若依
框架
Excel
导出
_
若依
复杂头
导出
...
若依
框架
Excel
导出
_
若依
复杂头
导出
若依
复杂头
导出
一、编写实...
赞
踩
相关标签
服务器
linux
运维
汽车
pdf
智能手机
电脑
单片机
android
jetpack
kotlin
HBase
ubuntu
node.js
知识图谱
elasticsearch
全文检索
计算机网络
TCP
拥塞控制
云计算
安全
防静电
无尘净化