反序列化
Python 中也有类似的方法可以使其在被反序列化的时候执行,这里以 __reduce__
为例
通过 pickle 的 loads 来反序列化并自动执行
我们可以看到我们已经将我们的 a+b 自动输出了(这里也可以提示我们,pickle 的 loads 参数如果可以被控制,我们就可以进行利用)
我们这里可以对其进行混淆、编码操作,依旧以 Base64 编码为例,我们序列化代码如下
接下来我们只需要进行反序列化调用之前先进行解码操作即可
Python 中也有类似的方法可以使其在被反序列化的时候执行,这里以 __reduce__
为例
通过 pickle 的 loads 来反序列化并自动执行
我们可以看到我们已经将我们的 a+b 自动输出了(这里也可以提示我们,pickle 的 loads 参数如果可以被控制,我们就可以进行利用)
我们这里可以对其进行混淆、编码操作,依旧以 Base64 编码为例,我们序列化代码如下
接下来我们只需要进行反序列化调用之前先进行解码操作即可