任意文件下载漏洞

很多网站都会提供文件下载功能,即用户可以通过点击下载链接,下载到链接所对应的文件。

但是,如果文件下载功能设计不当,则可能导致攻击者可以通过构造文件路径,从而获取到后台服务器上的其他的敏感文件。(任意文件下载)

在靶场的unsafe filedownload栏目可以看到

这些球星

这里提示我们,点击球员的名字可以下载,

我们尝试点击一下

确实是进行了下载,但是我们右击球员的名字,选择新建标签页打开链接

在下载的同时,我们看到了下载的url

这里通过get请求,下载了名为kb.png的图片,

那我们是不是可以修改这里的文件名,来下载其他的文件呢

在上一级目录我们看到有down_nba.php这个文件,

那我们就构造url

127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filename=../down_nba.php

发现可以下载

我们完全可以通过重复的../../../../../来跳转到根目录来进行猜测或者爆破下载任意的文件,

任意文件下载(pikachu)的更多相关文章

  1. Mlecms 反射型xss && 后台任意文件下载

    应该算0day吧,自己分析出来的,有点鸡肋,不过小cms分析确实比较简单. xss地址:search.php?word=a><img+src=1+onerror=alert`1`>a ...

  2. 【代码审计】XYHCMS V3.5任意文件下载漏洞分析

      0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...

  3. 【代码审计】ThinkSNS_V4 任意文件下载漏洞分析

      0x00 环境准备 ThinkSNS官网:http://www.thinksns.com 网站源码版本:ThinkSNS V4  更新时间:2017-09-13 程序源码下载:http://www ...

  4. 【代码审计】EasySNS_V1.6 前台任意文件下载漏洞分析

      0x00 环境准备 EasySNS官网:http://www.imzaker.com/ 网站源码版本:EasySNS极简社区V1.60 程序源码下载:http://es.imzaker.com/i ...

  5. 【代码审计】CLTPHP_v5.5.3后台任意文件下载漏洞分析

      0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...

  6. PHP代码审计笔记--任意文件下载漏洞

    在文件下载操作中,文件名及路径由客户端传入的参数控制,并且未进行有效的过滤,导致用户可恶意下载任意文件.  0x01 客户端下载 常见于系统中存在文件(附件/文档等资源)下载的地方. 漏洞示例代码: ...

  7. dzzoffice 任意文件下载漏洞分析

    dzzoffice 任意文件下载 \updload\dzz\system\save.php第72行开始:    elseif($_GET['do']=='move'){    $obz=trim($_ ...

  8. 代码审计-(Ear Music).任意文件下载漏洞

    0x01 代码分析 后台地址:192.168.5.176/admin.php admin admin 安装后的界面 在后台发布了一首新歌后,前台点进去到一个“下载LRC歌词”功能点的时候发现是使用re ...

  9. 代码审计-phpcms9.6.2任意文件下载漏洞

    漏洞文件: phpcms\modules\content\down.php 1.在download函数中对文件的校验部分 首先 if(preg_match('/(php|phtml|php3|php4 ...

随机推荐

  1. Linux下使用FastDFS

    本文所有操作均在CentOS 7.x环境下进行. 1.1.单节点FastDFS 整个安装过程非常复杂,很容易出错,建议进行多次备份. 我们这里不打算安装多台虚拟机,因此会把tracker和storag ...

  2. CSS盒子模型(boeder)+浮动(float)+定位(position)

    盒子的上下层:margin--background-color--background-image--padding--content--border(最外层) 计算一个盒子宽 =  内容的宽(wid ...

  3. Shell 命令 之linux 模式下的编程语言

    今天简单介绍一下shell 命令的使用,希望对大家有所帮助!!! 一. 1.首先创建一个文本 在终端 touch test.sh 用gedit test.sh 打开.sh 文件 输入如下,第一行是申明 ...

  4. js检查数据类型

    在实际工作中我们经常遇到要检测传入的参数类型是什么.也许第一时间想的的是typeof ,但这个也只是能检测个别的一些类型.如果要检测null,Array这些类型呢? 所以我们可以封装一个方法可以更加方 ...

  5. Zookeeper是如何实现分布式锁的

    [toc] Zookeeper是如何实现分布式锁的 标签 : Zookeeper 分布式 实现分布式锁要考虑的重要问题 1. 三个核心要素 加锁, 解锁, 锁超时 2. 三个问题 要保证原子性操作, ...

  6. QT-day1 创建项目

  7. ASP.NET Core中的Controller

    ASP.NET CORE出现之前我们实现的Controller,MVC都继承自Controller基类,WebApi的话继承自ApiController.现在ASP.NET CORE把MVC跟WebA ...

  8. spring05

    通过静态工厂的方法创建bean:和实例工厂方法: <?xml version="1.0" encoding="UTF-8"?> <beans ...

  9. django_rest_framework视图传递参数给序列化器

    django_rest_framework视图传递参数给序列化器 视图中默认可以将request.data传递给序列化器,但request.data是不可更改的对象,但又想将额外的参数传递给序列化器 ...

  10. Windows恢复分区管控命令reagentc

    reagentc命令可以实现Windows恢复分区的开关,创建.删除,状态查看. 可以只管确定当前系统恢复分区所在位置,便于删除多余的恢复分区.