文件上传之,waf绕过(24)

news2024/10/7 4:30:23

上传参数名解析:明确哪些东西可以修改

content-disposition:一般可更改    表单的数据 

name:表单参数值,不能更改    表单提交的值

filename:文件名,可以修改    上传的文件名

content-type:文件mime,视情况修改   上传文件名自带的参数类型

mime可以作为一个验证条件,验证mime来判断你个文件一个合法性的时候,可以通过更改mime来达到一个伪造,比如上传一个php文件,这时候可以更改为图片类来尝试绕过mime验证。

waf验证判断形势,主要是这样的一种形式是判断,检测文件里面的代码,如果代码立马有后门代码检测到会拦截,这个代码怎么编译绕过是后面要学的,我们只讲文件上传所以这里先不管它,文件上传一般检测的都是这种有参数后面有数据的,四个参数值比较关键的是filename,文件名,文件名里面包含了文件的后缀。

前期upload第二关的时候,判断的方式就是mime的类型的绕过,绕过miem是图片类型就可以上传,没有验证后缀,这是代码的判断,我们在来探针一下防护软件是怎么判断的,现在第二关上传一个图片上去,抓住数据包,mime满足就可以上传,所以把上传的文件名字改成php格式,本来这是可以正常上传成功的

但是由于安全狗的原因被拦截了。改了之后php之后不能上传,所以他对那个文件名后缀绝对是有一个检测的,

 安全狗这里就有php后缀检测,所以拦截。绕过方法,就是检测不到这个php,要么换一个脚本类型能执行出php,最终目的都是能执行出脚本的后缀,php只是一种,asp也可以,因为这个网站是php所以php作为演示。

两只思路,第一种是让他检测不到成功上传一个可以执行出php的权利,尝试一下猜想,在中间加上一个空格ph p,返回源代码没有那个安全狗关键词了,文件也成功上传了,但这个文件又不可以直接访问了,因为多了一个空格之后,访问网站就显示成

 两个浏览器访问返回结果,这样子上传也还是张图片,没有当作脚本,没有执行出来脚本,也不可以。

之前绕过是在php后面加上点和空格,现在这样上传,安全狗还是拦截了。

常见绕过方法

数据溢出,放匹配的

这个原理借助的溢出漏洞,这是老师自己取的名字,就比如让你在一万个人里面找一个人,几率很小,我们把这个数据搞大,让程序去一个一个匹配也是这样,它不会排除就挨个去匹配,数据太多了,程序会停止或者崩溃,数据溢出就是用的这个方法,因为他匹配的就是名字,所以在后缀名之前名字开始溢出比较好,乱写一堆一直重复,

 apache服务被迫停止工作,但是数据太多了,数据包没有发出去,所以这文件名那个地方不要去搞,

 换一种思路,写道filename前面来,因为他会慢慢检测吗,先检测上面的content-disposition,在往下检测,检测filenam的起那么加上一堆垃圾数据,

 这样子上传成功了但是文件了没有,这个是什么原因造成的, 

 这样子在filename前面加上aa.jpg乱码绕过,但是上传的是一个aa.jpg。

再换一个地方写垃圾数据,

 写到这个name前面来,注意垃圾数据的结尾要写一个;,然后可以该修改的fielname更改为x.php,然后写够垃圾数据到不拦截看结果

 上传成功了

注意  结尾一定要加上个;,不然上传不成功。

学前面的知识为了不会乱插入,插入到不该插入大地方去,比如name:表单参数值,不能更改

第二种  符合变异,放匹配("  '   ;)

抓住数据包,数据包里面的符合都是有讲究的,冒号就代表的后面是值,分号加上结尾了一对一。

而name="file_upload",这个呢是数据包自带的冒号里面代表的是可以更改的不固定的, filename="1.gif 这个里面的值是可以更改的所以是双引号,基本程序开发里面都有单引号双引号,都可以,这是第一个可以变化的地方。

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

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

相关文章

算法学习(数组和字符串) 之数组简介

集合、列表和数组 1.集合: 集合一般被定义为由一个或多个确定的元素所构成的整体。通俗来讲,集合就是将一组事物组合在一起。你可以将商店里的所有物品当成一个集合。 特点: 集合里的元素没有顺序集合里的元素类型不一定相同 2.列表&…

【Python入门篇】——Python中循环语句(for循环的基础语法)

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句…

Foley Sound——DECASE项目——项目复现

文章目录 概述项目复现配置环境下载并配置文件运行代码第一阶段,训练提取DTFR特征的模型资料搜集 train_vqvae.py 第二阶段,使用训练好的模型提取声音的DTFR特征torch.cuda.OutOfMemoryError: CUDA out of memory. 第三阶段,基于特征训练合成…

学习Netty BootStrap的核心知识,成为网络编程高手!

0 定义 深入 ChannelPipeline、ChannelHandler 和 EventLoop 后,如何将这些部分组织起来,成为可运行的应用程序? 引导(Bootstrapping)!引导一个应用程序是指对它进行配置,并使它运行起来的过程…

AcWing算法提高课-1.3.8多重背包问题 III

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 有 N N N 种物品和一个容量是 V V V 的背包。 第 i i i 种物品最多有 s i s_i si​ 件&#xff0c;每件体积是 v i v_i vi​…

我们到底该怎么入门网络安全?一般人还真不行

我之前写了不少网络安全技术相关的故事文章&#xff0c;不少读者朋友知道我是从事网络安全相关的工作&#xff0c;于是经常有人在微信里问我&#xff1a;&#xff08;文末入门福利&#xff09; 我刚入门网络安全&#xff0c;该怎么学&#xff1f; 要学哪些东西&#xff1f; …

linux系统打包压缩与搜索命令

1、tar命令 在linux系统中&#xff0c;常见的文件格式比较多&#xff0c;其中主要使用使用的tar和zip来压缩文件&#xff0c;tar命令的参数比较多&#xff0c;这里呢我一般只会记得几个比较常用的。 -c创建压缩文件-x解开压缩文件-z用Gzip压缩或解压-v显示压缩或者解压的过程-…

C语言—自定义类型(结构体、枚举、联合)

自定义类型 结构体结构体的声明特殊的声明结构的自引用结构体变量的定义和初始化结构体内存对齐修改默认对齐数offsetof宏 结构体传参 位段位段的定义&#xff08;声明&#xff09;位段的内存分配位段的跨平台问题位段的应用 枚举枚举类型的定义及使用枚举的优点 联合&#xff…

第02章 变量与运算符

一 关键字&#xff08;keyword&#xff09; 定义&#xff1a;被Java语言赋予了特殊含义&#xff0c;用做专门用途的字符串&#xff08;或单词&#xff09; HelloWorld案例中&#xff0c;出现的关键字有 class、public 、 static 、 void 等&#xff0c;这些单词已经被Java定义…

Linux设备驱动模型(二)

基于linux-3.14.16 设备模型&#xff08;LDM&#xff09;包括&#xff0c;总线、驱动、设备 一、总线及其api 1、注册一个总线 以i2c总线为例&#xff0c;下面基本表现出了注册一个总线的过程。 1、定义一个总线bus_type&#xff0c;填充几个回调 2、调用bus_register注册总线…

【STM32系列】硬件介绍及固件安装

【STM32系列】硬件介绍及固件安装 硬件介绍应用领域 固件安装进入DFU模式安装固件退出DFU&#xff0c;进入U盘模式 演讲稿 欢迎收看由咸鱼菌工作室出品的STM32系列教程。本篇内容主要是设备介绍及环境安装 硬件介绍 本系列所选硬件ZTMR(STM32)开发板 &#xff0c;选用STM32芯片…

新手如何学习挖SRC漏洞?【网络安全】

前言 有不少阅读过我文章的伙伴都知道&#xff0c;我从事网络安全行业已经好几年&#xff0c;积累了丰富的经验和技能。在这段时间里&#xff0c;我参与了多个实际项目的规划和实施&#xff0c;成功防范了各种网络攻击和漏洞利用&#xff0c;提高了安全防护水平。 也有很多小…

【ProtoBuf】1.初识ProtoBuf

————————————每一个不曾起舞的日子都是对生命的辜负。 初识ProtoBuf 一. 序列化概念二. ProtoBuf1. 什么是ProtoBuf2. ProtoBuf的特点3. ProtoBuf进行序列化反序列化的流程 三. 本章总结 一. 序列化概念 日常生活中&#xff0c;手机上收到的语音消息在网络中不能直…

多线技术:TDI时间延迟积分

多线技术&#xff1a;TDI时间延迟积分 在比较暗的环境下拍照&#xff0c;清晰成像的条件&#xff0c;是CMOS芯片获取足够的光。而获得足够光的方法有&#xff1a; 方案1.增加单位时间的光照强度&#xff08;光源、大镜头收集光&#xff09; 方案2.增加CMOS感光时长&#xf…

国潮还能怎么玩?小红书用户画像速看!

所谓“国潮”&#xff0c;概括来说就是“国风潮流”。主要有两层含义&#xff1a;其一&#xff0c;有中国文化和传统的基因&#xff1b;其二&#xff0c;能将传统文化与时下潮流相融合&#xff0c;使产品更具时尚感。在“国潮”元年之前&#xff0c;“国潮”大多指狭义上的特定…

macOS Ventura 13.5beta (22G5027e)发布

系统介绍 黑果魏叔 5 月 20 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 13.5 开发者预览版 Beta 更新&#xff08;内部版本号&#xff1a;22G5027e&#xff09;&#xff0c;本次更新距离上次发布隔了 17 天。 macOS Ventura 带来了台前调度、连续互通相机、Face…

四象限法进程调度

周二收到一篇推送 一次云上网络毫秒级的优化与实践&#xff0c;很有意义的实践和探索&#xff0c;建议阅读&#xff0c;文章不长&#xff0c;没有冗长的源码分析&#xff0c;结论很清晰。 谈谈我的看法。 多少有种感觉&#xff0c;Linux 越来越像个响应系统而不是服务器。 虚…

TimesNet:用于一般时间序列分析的时间二维变化模型(代码解析)

前言 TimesNet&#xff1a;用于一般时间序列分析的时间二维变化模型论文下载地址&#xff0c;Github项目地址&#xff0c;论文解读系列本文针对TimesNet模型参数与模型架构开源代码进行讲解&#xff0c;本人水平有限&#xff0c;若出现解读错误&#xff0c;欢迎指出开源代码中…

回归分析-简单线性回归推导

回归分析-简单线性回归模型 在大数据分析中&#xff0c;回归分析是一种预测性的建模技术&#xff0c;它研究的是因变量&#xff08;目标&#xff09;和自变量&#xff08;预测器&#xff09;之间的关系。这种技术通常用于预测分析&#xff0c;时间序列模型以及发现变量之间的因…

浏览器免费安装ChatGPT插件与国内免费ChatGPT分享

文章目录 一、什么是ChatGPT&#xff1f;ChatGPT的功能&#xff1a; 二、如果在Edge上安装chatgpt插件三、国内免费ChatGPT四、ChatGPT程序员的影响五、Chatgp能取代程序员吗&#xff1f; 一、什么是ChatGPT&#xff1f; ChatGPT是一种基于自然语言处理的机器学习算法&#xf…