网安入门12-文件上传(黑白名单,00截断)

news2024/11/17 1:45:56

黑名单绕过

Pass-03
有的时候后端限制了一些黑名单,比如过滤后缀名.php

我们就可以用黑名单里没有的后缀名进行绕过,例如:

  1. 大小写:.phP .pHp .AsP
  2. php1 .php2 .php3 .php9 .phtml(成功率较高)
  3. 特殊文件名绕过

比如发送的htp包里把文件名改成test.asp.或test.asp_(下划线为空格),这种命名方式在windows系统里是不被允许的,所以需要在burp之类里进行修改,然后绕过验证后,会被windows.系统自动去掉后面的点和空格,但要注意Unix/Linux系统没有这个特性。

于是我们先上传一个shell.jpg,然后抓包把后缀名改为.php1

发现浏览器按照原文展示,并没有按照php解析这个木马,那我们就尝试别的后缀
我尝试了php1-9,都不行,好在最后尝试了一下phtml,成功了,最后蚁剑一连就行啦

白名单绕过-GET型00截断

当我们遇到白名单了,只允许上传.jpg|.png|.gif

这里先介绍0x00是一个Hex编码,他表示一个空字符(可以理解为一个不可见的字符串)
在这里插入图片描述 %00与0x00类似,在URL编码下表示为空字符,URL中%00解码成16进制就是0x00

Pass-11

分析上传包,与之前的关卡不同,请求头第一行多了一个save_path的东西,把我们已知的先填上,先把Content-Disposition的filename改成"1.jpg"
在这里插入图片描述

我们猜测这个save_path的作用是指定上传之后的文件具体保存的路径,使的Response里面的src在…/upload目录下,那么我们就对这个目录动手了

尝试改一下,发现上传出错,因为目录里没有这个文件,而且我们没有权限新建这个文件
继续证明我的思路,我用上帝视角在upload文件夹里面新建了一个文件夹叫做123

再次抓包,往这个123文件夹里传图片

按照预期出现了这个上传的图片

这就证明了我们的拼接路径理论
新的上传思路就出来了:我们只需要在save_path里面随便起一个名字.php再用%00解码后的空字符截断后面的拼接上来的其他数据即可

后面这个正方型就是代表了一个不可见字符,后续步骤就一样了在文件夹中可以看到文件名就为zyh.php

白名单绕过-POST型00截断

Pass-12
我们抓包一看,save_path的地方跑到了post数据的区域

抓包分析小技巧:只要是在请求包第一个回车之后的参数全部都是post数据,在请求头第一行的是get数据

在这里插入图片描述
我们故技重施,发现失败了
原因在于GET传参和POST传参不同,post数据的特点是我们把包发过去之后,服务器会进行URL二次编码,编码后的参数到了后端再解码执行,相当于传到服务器的是%25%30%30,到了后端还是%00

我们有了新的思路,先给他解码传上去,再让他经过编码解码,到后端还是空字符,选中00%右键转换编码

通杀方法

最后再介绍一个通杀的解法,只要对方服务器不对我们上传的文件进行重命名,那我们可以在filename参数里面直接拼接一个1.php%00.jpg,再对%00进行解码,服务器前后端的校验都可以绕过

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TypeScript基础(三)扩展类型-接口和类型兼容性

✨ 专栏介绍 TypeScript是一种由微软开发的开源编程语言,它是JavaScript的超集,意味着任何有效的JavaScript代码都是有效的TypeScript代码。TypeScript通过添加静态类型和其他特性来增强JavaScript,使其更适合大型项目和团队开发。 在TypeS…

一文详解VScode 的远程开发

VS code登录服务器后进行编码和调试,VS code上的所有功能都可以使用,和在本地开发基本无区别。 一、配置免密远程登录 因为是要远程登录,那么需要通过使用ssh进行密钥对登录,这样每次登录服务器就可以不用输入密码了。 先来一句官…

【复习】人工智能 第2章 知识表示

一、 知识的概念 (1)知识:把有关信息关联在一起所形成的信息结构。 注:事实与规则的区别: 事实 —— “雪是白色的” 大自然自带的 规则 —— “如果头痛且流涕,则有可能患了感冒” 有点推理意味的 &…

服务器监控软件夜莺使用(二)

文章目录 一、采集器安装1. Categraf简介2. Categraf部署3. 测试服务器部署4. 系统监控插件5. 显卡监控插件6. 服务监控插件 二、监控仪表盘1. 机器列表2. 系统监控3. 服务监控 三、告警配置1. 邮件通知2. 告警规则3. 告警自愈 一、采集器安装 1. Categraf简介 Categraf 需要…

QTableView和QTableWidget之间的联系 和 区别?什么时候该用QTableView,什么时候该用QTableWidget?

参考:tableview与tablewidget的区别_wx64f5321a2db60的技术博客_51CTO博客 QTableView 和 QTableWidget 是 Qt 中用于显示和编辑表格数据的两个不同的部件,它们之间存在一些重要的区别: 一、主要区别是:QTableView可以使用自定义…

拥有影响力,项目经理才能如鱼得水

优秀的项目经理,不仅需要具备卓越的组织和协调能力,还需要拥有足够的影响力,以便能够推动项目的顺利进行。然而,现实情况是,许多项目经理并没有意识到影响力的重要性,导致他们在工作中事半功倍,…

中国建设银行 关于解决微软升级导致插入网银盾无法自动打开企业网银的通知

关于解决微软升级导致插入网银盾无法自动打开企业网银的通知 发布时间:2023-10-18 尊敬的客户: 近期Windows操作系统升级会禁止使用IE浏览器,可能会导致您在插入网银盾后无法自动弹出企业网银登录页面,您可以通过以下方式解决&…

一篇文章带您了解如何实现WordPress主题/插件本地化翻译

要实现WordPress主题和插件的本地化翻译就需要了解什么是国际化和本地化以及WordPress是如何实现国际化和本地化的。 什么是国际化? 国际化是为软件(在本例中为 WordPress)提供多语言支持的过程。国际化通常缩写为 i18n,其中 18 代…

Zoho Mail企业邮箱:跨境协作的利器,荣登Top榜单

在全球化的商业环境中,高效的协作工具对于企业及个人来说都至关重要。邮件因其自身规格正式、全球通用等特点,在跨境通信场景中仍然是最高频使用的工具之一。 Zoho Mail企业邮箱因邮件抵达率高,数据加密严,纯净无广告,…

数据分析求职-常见面试题前言

今天和大家聊聊数据分析求职常见面试题,这是这个系列的第一篇文章,但是我不想开始就直接罗列题目,因为这样的文章实在太多了,同学们的兴趣程度肯定一般。所以,我想先和大家聊聊在准备面试题时候通常遇到的困扰&#xf…

京东年度数据报告-2023全年度打印机十大热门品牌销量(销额)榜单

2023年度,打印机消费市场的销售总量呈现下滑。根据鲸参谋平台的数据显示,京东平台上打印机市场的年度销量为650万,同比下滑约9%;销售额将近55亿,同比下滑约10%。 在这里,鲸参谋平台综合了京东平台上电脑办公…

第17集《佛法修学概要》

戊四、业果轻重 诸位法师慈悲!陈会长慈悲! 诸位学员!阿弥陀佛! 请大家打开讲义第四十二页。 我们讲到戊四、业果轻重。业果的轻重有三段:第一个约心;第二个约境;第三个约相续。我们讲到第二…

Vue3+Vite打包跨平台(七牛、阿里OSS)上传部署前端项目

1、业务场景 阅读之前,想了解一下各位观众老爷们,你们公司的项目是怎么部署的: 1.本地打包手动上传服务器; 2.本地打包自动上传服务器; 3.代码仓库流水线自动构建; 4.其他…; 我们用的第3种部…

认知能力测验,⑦如何破解类比推理类测试题?

关于认知能力测评,今天这稿算是最后一篇,一共写了7篇,分别是数字推理、逻辑思维、语言常识、数量关系、图形推理、逻辑判断、和类比推理。 不论是校招、社招、网申、还是行测,在线人才测评已经是普遍普及的想象,而认知…

BUUCTF--ciscn_2019_s_31

这题是一题ret2csu,先查看下保护: 64位架构的程序,那么传参就是寄存器传参了。开启了NX,也不存在ret2shellocde。接下来黑盒测试下: 输入一个字节都能触发段错误,并且还跟了一串不知道啥来的东西,盲猜是栈上…

HTML5+CSS3小实例:弹出式悬停效果

实例:弹出式悬停效果 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><m…

[Markdown] Markdown常用快捷键分类汇总

文章目录 Markdown1、标题2、列表3、强调4、链接和图片5、代码和公式6、表格和任务列表7、引用8、分割线9、脚注10、目录11、注释12、定义 Markdown Markdown是一种轻量级的标记语言&#xff0c;可以让你用简单的语法来编写格式丰富的文档。 Markdown编辑器是一种专门用于编辑…

c++学习:文件输入输出类模板

目录 头文件 常用类模板 basic_ifstream文件输入类模板 模板原型 模板的成员类型和成员对象和成员函数 文件输入类模板的容器对象 实例 basic_ifstream文件输出类模板 模板原型 模板的成员类型和成员对象和成员函数 实例 basic_ifstream文件输出类模板 模板原型 …

Certum与Geotrust的SSL证书区别

Certum和GeoTrust都是知名的CA认证机构&#xff0c;这两个品牌下的SSL证书在多个方面存在一些差异。今天就随SSL盾小编了解Certum与Geotrust证书的区别。 一、Certum机构背景 Certum是波兰的一家CA认证机构&#xff0c;成立于2002年&#xff0c;至今已有近20多年的历史。旗下有…

在NR中,什么是PDCCH order?

根据38.300中触发RA的场景&#xff0c;PDCCH Order 发起的随机接入对应的上图中橙框中的过程&#xff0c;即用于上行失步后&#xff0c;当gNB有下行数据要发送时&#xff0c;会使用PDCCH Order强制UE发起RACH以重新完成上行同步。 配置有SUL的小区进行RA时&#xff0c;网络可以…