s3-minio-content-type-xss

Override Content-Type headers in S3 and MinIO buckets to deploy stored XSS payloads.

1.1k|191|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/uphiago/recon-skills --skill s3-minio-content-type-xss
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: s3-minio-content-type-xss
Source: https://github.com/uphiago/recon-skills/tree/main/recon/s3-minio-content-type-xss
Command: npx skills add https://github.com/uphiago/recon-skills --skill s3-minio-content-type-xss

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill addresses stored cross-site scripting (XSS) vulnerabilities in web applications that serve user-uploaded files from public S3 or MinIO cloud storage buckets, where attackers can override the Content-Type response header to bypass upload-time validation controls and execute malicious scripts under the target's origin.

Core Features & Use Cases

  • Dual storage system support: Includes exploitation workflows for both MinIO and compatible storage systems (anonymous Content-Type override) and AWS S3 (signed presigned URL generation for overrides).
  • Upload validation bypass: Provides polyglot file crafting techniques to pass extension whitelist and magic byte checks during file upload, ensuring malicious payloads reach the bucket.
  • Use case: During an authorized penetration test of a social media platform that stores user avatars in a public MinIO bucket served under the platform's own domain, use this Skill to turn a benign uploaded avatar file into a same-origin stored XSS payload that steals user session cookies.

Quick Start

Use this skill to test a target's public file serving endpoint for S3 or MinIO Content-Type override vulnerabilities and generate a working same-origin stored XSS payload if the bucket is exploitable.

Frequently Asked Questions about s3-minio-content-type-xss

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does exploiting S3 Content-Type override lead to stored XSS?

MinIO Content-Type override bypasses upload validation by allowing anonymous header manipulation on public storage buckets. Attackers craft polyglot files to pass extension and magic byte checks, then override response headers to execute stored XSS payloads under the target's domain.

Can I perform anonymous Content-Type override testing on MinIO buckets?

Yes, you can perform anonymous Content-Type override testing on MinIO buckets. The technique applies to authorized penetration testing of public storage systems, allowing header manipulation without requiring signed presigned URLs like AWS S3 deployments demand.

What is the best way to bypass extension whitelist and magic byte upload checks in S3 buckets?

AWS S3 Content-Type override requires signed presigned URL generation to manipulate response headers. Unlike anonymous MinIO testing, AWS S3 demands cryptographic signing to authorize header modifications for deploying stored XSS payloads during authorized red team engagements.

When should I not use Content-Type override for bucket exploitation?

You should not use Content-Type override for bucket exploitation when target web applications serve user-uploaded files from isolated external domains. Same-origin stored XSS execution requires the cloud storage bucket to be served under the application's own origin domain.