python flask 魔术方法

魔术方法 作用
init 对象的初始化方法
class 返回对象所属的类
module 返回类所在的模块
mro 返回类的调用顺序,可以找到其父类(用于找父类)
base 获取类的直接父类(用于找父类)
bases 获取父类的元组,按它们出现的先后排序(用于找父类)
dict 返回当前类的函数、属性、全局变量等
subclasses 返回所有仍处于活动状态的引用的列表,列表按定义顺序排列(用于找子类)
globals 获取函数所属空间下可使用的模块、方法及变量(用于访问全局变量)
import 用于导入模块,经常用于导入os模块
builtins 返回Python中的内置函数,如eval

拿BUGKU的题目来测试一下:

1. class

复制代码
".__class__

转换URL编码后:{{%27%27.class }}

  • ":引号表示字符串的意思
  • 加上__class__,就是查看它的类

2. base

复制代码
.__base__

就是查看它的上级类也就是父类

3. subclasses

由于object已经是最上面的父类了,所以我们查看它的子类

复制代码
.__subclasses __() 

看到有很多我们寻找我们能执行命令的类比如:os._wrap_close,然后它是在返回结果的第118位,所以我们在.__subclasses __()加上[117] //列表从0开始计算个数

4. globals

复制代码
.__globals__

获取函数所属空间下可使用的模块、方法及变量(用于访问全局变量)

...

相关推荐
我爱学习_zwj2 分钟前
服务器接收用户注册信息教程
python
大连滚呢王9 分钟前
Linux(麒麟)服务器离线安装单机Milvus向量库
linux·python·milvus·银河麒麟·milvus_cli
m0_7381207237 分钟前
网络安全编程——基于Python实现的SSH通信(Windows执行)
python·tcp/ip·安全·web安全·网络安全·ssh
领航猿1号1 小时前
如何通过神经网络看模型参数量?
人工智能·python·神经网络·大模型参数量
mywpython1 小时前
Python使用消息队列rabbitmq
开发语言·python·rabbitmq
Learn Beyond Limits2 小时前
Regression vs. Classification|回归vs分类
人工智能·python·算法·ai·分类·数据挖掘·回归
不去幼儿园2 小时前
【强化学习】可证明安全强化学习(Provably Safe RL)算法详细介绍
人工智能·python·算法·安全·机器学习·强化学习
重启编程之路2 小时前
python 基础学习socket -UDP编程
python·网络协议·学习·udp
XXYBMOOO2 小时前
探索图像处理中的九种滤波器:从模糊到锐化与边缘检测
图像处理·人工智能·python·opencv·计算机视觉
惜鸟2 小时前
python虚拟环境激活原理详解
python