flask_ssti
本文最后更新于 2025年1月23日 下午
解释
1 | |
__class__
1 | |
1 | |
在这个例子中,s 是一个字符串对象,s.__class__ 将返回 str 类
__mro__
1 | |
这里 B.__base__ 将返回 A 类,因为 B 直接继承自 A。
__base__
1 | |
这里 B.__base__ 将返回 A 类,因为 B 直接继承自 A。
__globals__
-
定义:
__globals__是一个属性,它返回一个包含函数或方法所在模块的全局变量的字典。对于函数和方法,它提供了对全局命名空间的访问。 -
示例:
1
2
3
4
5def func():
x = 10
print(func.__globals__)
func()这里
func.__globals__将返回一个包含当前模块的全局变量的字典,包括func函数本身,以及其他全局变量,如内置函数和导入的模块。
使用
查找基类object在第几个
1 | |
查看基类下的所有子类
1 | |
使用脚本查看指定子类的索引
查看是否存在__builtins__(索引为134)
1 | |
返回如 '__builtins__': {'__name__': 'builtins'
存在则查看eval函数
1 | |
返回'eval': <built-in function eval>
执行eval导入os模块并查找flag
1 | |
**.popen()和.read()**合用可以回显,使用system()只返回整型0或1
- Payload:
{{ config.__class__.__init__.__globals__['os'].popen('cat /etc/passwd').read() }}
flask_ssti
http://page.ccnyy.top/2025/01/21/flask_ssti/