Python——flask漏洞探究总结(持续更新)

本文探讨了如何通过Python的继承机制,利用Flask框架进行文件读取和命令执行的漏洞。流程包括查找父类object,搜索子类,定位涉及命令执行或文件操作的模块,以及利用特定的魔术方法。详细介绍了获取字符串类对象、寻找基类和可引用的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过python的对象的继承来一步步实现文件读取和命令执行的的。

流程:

找到父类<type ‘object’>–>寻找子类–>找关于命令执行或者文件操作的模块。

几个魔术方法:

__class__  返回类型所属的对象
__mro__    返回一个包含对象所继承的基类元组,方法在解析时按照元组的顺序解析。
__base__   返回该对象所继承的基类
// __base__和__mro__都是用来寻找基类的

__subclasses__   每个新类都保留了子类的引用,这个方法返回一个类中仍然可用的的引用的列表
__init__  类的初始化方法
__globals__  对包含函数全局变量的字典的引用

1 、获取字符串的类对象:

>>> ''.__class__
<type 'str'>

2:寻找基类:

>>> ''.__class__.__mro__
(<type 'str'>, <type 'basestring'>, <type 'object'>)

3:寻找可引用:

>>> ''.__class__.__mro__[2].__subclasses__()
[<type 'type'>, <typ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值