s3-minio-content-type-xss

Detect Content-Type header overrides in S3 and MinIO buckets.

3|1|Updated Jul 2, 2026
One-click install
npx skills add https://github.com/EntroVyx/hermes-agent-offsec --skill s3-minio-content-type-xss-entrovyx
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: s3-minio-content-type-xss
Source: https://github.com/EntroVyx/hermes-agent-offsec/tree/main/skills/offsec/recon/s3-minio-content-type-xss
Command: npx skills add https://github.com/EntroVyx/hermes-agent-offsec --skill s3-minio-content-type-xss-entrovyx

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires curl, python3, awscli, boto3, botocore.

What problem does it solve?

This skill addresses the challenge of bypassing strict file upload validations by exploiting Content-Type response header overrides in public cloud storage buckets to execute stored XSS.

Core Features & Use Cases

  • Content-Type Override Detection: Automatically identifies if a bucket allows overriding response headers via query parameters.
  • S3/MinIO Exploitation: Provides workflows for both anonymous MinIO overrides and authenticated S3 signed-URL generation.
  • Use Case: When an application strictly validates file extensions and magic bytes, this skill allows an operator to serve a malicious payload as HTML by manipulating the response headers at the storage layer.

Quick Start

Use the s3-minio-content-type-xss skill to test if the target bucket at the provided URL allows overriding the Content-Type header to text/html.

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

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

FAQPage Schema
How do I bypass file upload validation to achieve stored XSS in S3?▼

To bypass strict file upload validation and achieve stored XSS, manipulate Content-Type response header overrides in public S3 or MinIO buckets to serve payloads as HTML, bypassing application-level restrictions.

What is Content-Type override detection in MinIO?▼

Content-Type override detection in MinIO identifies if a public bucket allows overriding response headers via query parameters, enabling attackers to serve uploaded files as text/html to trigger cross-site scripting vulnerabilities.

How do I generate signed S3 requests to serve HTML payloads?▼

Generate signed S3 requests to serve HTML payloads using python3 and boto3 to create authenticated URLs that override response headers, forcing the Content-Type to text/html for stored XSS execution.

Do I need curl and python3 to test S3 bucket response header overrides?▼

Yes, you need curl for header inspection and python3 with boto3 for generating signed S3 requests to test if public cloud storage buckets allow overriding response headers for stored XSS.

Can I use this to bypass file extension and magic byte validation?▼

Yes, when an application strictly validates file extensions and magic bytes, manipulating response headers at the storage layer allows you to serve a malicious payload as HTML, bypassing those upload restrictions entirely.

Does this approach work with both anonymous MinIO and authenticated S3 buckets?▼

Yes, the approach supports both anonymous MinIO overrides and authenticated S3 signed-URL generation, providing workflows to exploit Content-Type response header overrides across compatible public cloud storage services.