文件上传--Upload-labs--Pass20--数组绕过

简介: 文件上传--Upload-labs--Pass20--数组绕过

一、漏洞原理

漏洞来源:count()函数漏洞。

现自定义一个数组 arr[],定义arr[0]=1,arr[3]=2, 此时count(arr)的值为2,则arr[count[arr]]即为arr[2],但是arr[2]未定义,即为一个空值,若使用count()函数的本意是指向arr数组的最后一个元素,此时却指向arr[2],形成数组漏洞。


二、代码审计

我们发现源代码进行了多处防御,设置了Content-Type白名单,需要进行抓包绕过。

并且将不是以数组形式存在的文件名划分为数组,取数组最后一个元素为后缀进行白名单判断。


三、通关操作

1、首先上传 test.php 文件,利用 Burpsuite 进行抓包,发现save_name是利用_POST形式上传的,利用count()函数漏洞手动将 save_name改为数组形式,绕过白名单,并且合法化$image_path路径。

2、放包上传,新标签页中打开,成功执行php代码。

---通关。

相关文章
|
9月前
|
存储 安全 前端开发
Web渗透-文件上传漏洞-上篇
文件上传漏洞常见于Web应用,因类型限制不严可致恶意文件执行。本文介绍前端检测、MIME类型、黑名单、.htaccess、空格、双写等多种绕过方式,并结合upload-labs靶场演示利用方法,提升安全防护认知。
2843 1
Web渗透-文件上传漏洞-上篇
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
1767 1
|
JSON 算法 安全
JWT渗透与攻防
JSON Web Token(JWT)作为一种广泛使用的认证机制,因其简单、有效和灵活性而受到开发者的青睐。然而,随着JWT使用的普及,其安全性问题也逐渐显现。本文将探讨JWT的渗透测试方法,分析常见的安全漏洞,并提供相应的防护措施。
1232 3
JWT渗透与攻防
|
安全 前端开发 PHP
Upload-labs 通关解析(上)
Upload-labs 靶场通关解析(上)
|
存储 SQL 安全
DVWA File Upload 通关解析
DVWA File Upload 通关解析
|
安全 NoSQL 网络协议
SSRF内网打穿相关姿势
本文详细介绍了服务器端请求伪造(SSRF)漏洞,包括其定义、漏洞场景、常见漏洞函数、URL伪协议及其利用方法。通过具体的靶机示例,展示了如何利用SSRF漏洞进行内网探测、命令执行、SQL注入、命令注入、XXE注入、Tomcat任意文件上传和Redis未授权访问等攻击。文章还提供了相关工具和参考资料,帮助读者更好地理解和应对SSRF漏洞。
2152 0
SSRF内网打穿相关姿势
|
存储 安全 JavaScript
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
这篇文章详细解释了XSS跨站脚本攻击的概念、原理、特点、类型,并提供了攻击方式和防御方法。
8219 3
|
存储 安全 Apache
文件上传--Upload-labs--Pass03--特殊后缀与::$DATA绕过
文件上传--Upload-labs--Pass03--特殊后缀与::$DATA绕过
1201 0
文件上传--Upload-labs--Pass03--特殊后缀与::$DATA绕过