Python pickle 反序列化详解

Python pickle 反序列化详解什么是Python反序列化python反序列化和php反序列化类似(还没接触过java。。),相当于把程序运行时产生的变量,字典,对象实例等变换成字符串形式存储起来,以便后续调用,

什么是Python反序列化

python反序列化和php反序列化类似(还没接触过java。。),相当于把程序运行时产生的变量,字典,对象实例等变换成字符串形式存储起来,以便后续调用,恢复保存前的状态…

什么是Python反序列化

python反序列化和php反序列化类似(还没接触过java。。),相当于把程序运行时产生的变量,字典,对象实例等变换成字符串形式存储起来,以便后续调用,恢复保存前的状态

python中反序列化的库主要有两个,和,这俩除了运行效率上有区别外,其他没啥区别

的常用方法有

输出反序列化

读入反序列化

可以看出,和之间反序列化的结果有些许差别,我们先以目前的支持版本为主要对象,在后期给出exp的时候再补上

python3大多版本中反序列化的字符串默认版本为3号版本,我这里的默认版本为4

为了便于分析和兼容,我们统一使用号版本

反序列化流程分析

在挖掘反序列化漏洞之前,我们需要了解python反序列化的流程是怎样的

直接分析反序列化出的字符串是比较困难的,我们可以使用帮助我们进行分析

指令集如下:(更具体的解析可以查看)

依照上面的表格,这一个序列化的例子就很好理解了

我们再来看另一个更复杂的例子

这样另一个更复杂的例子就分析完成了

我们现在能大体了解序列化与反序列化的流程

漏洞分析

RCE:常用的

ctf中大多数常见的pickle反序列化,利用方法大都是

触发的指令码为

大意为:

取当前栈的栈顶记为,然后把它弹掉。

取当前栈的栈顶记为,然后把它弹掉。

以为参数,执行函数,把结果压进当前栈。

只要在序列化中的字符串中存在指令,方法就会被执行,无论正常程序中是否写明了方法

例如:

把生成的payload拿到无的正常程序中,命令仍然会被执行

记得生成payload时使用的python版本尽量与目标上的版本一致

全局变量包含覆盖:指令码

前两个例子开头都有指令码

简单来说,指令码可以用来调用全局的的值

看下面的例子

在我们不知道中值的情况下,如何构造满足条件的payload,拿到flag呢?

利用c指令:

这是一般情况下的flag类

第27行和第37行分别进行了传参,如果我们手动把payload修改一下,将a和b的值改为,

我们成功的调用了中的变量

RCE:BUILD指令

还记得刚才说过的build指令码吗

通过BUILD指令与C指令的结合,我们可以把改写为或其他函数

假设某个类原先没有方法,我们可以利用来BUILE这个对象

BUILD指令执行时,因为没有方法,所以就执行update,这个对象的方法就改为了我们指定的

接下来利用来再次BUILD这个对象,则会执行,而此时已经被我们设置为,因此实现了RCE.

看一看具体如何实现的:

还是以flag类为例

接下来需要我们手撕payload了

根据BUILD的说明,我们需要构造一个字典

接下来往字典里放值,先放一个mark

放键值对

第一次BUILD

放参数

第二次BUILD

完成

我们来试一下

成了,我们在不使用指令的情况下完成了RCE

python2 区别不是很大:

输出:

修改payload:

https://blog.csdn.net/weixin_44377940/article/details/106863514

https://zhuanlan.zhihu.com/p/89132768

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/7008.html

(0)

相关推荐

  • 咖喱鸡肉可以放尖椒吗

    咖喱鸡肉可以放尖椒吗 咖喱鸡可以放辣椒。咖喱鸡是以鸡肉、土豆、咖喱、胡萝卜和洋葱为主要原料制成的菜肴。味道咸鲜,微甜微辣,有很浓的咖喱味。如果有爱吃辣的朋友,可以加点辣椒,增加辣味。咖喱鸡是一道常见的菜。做咖喱鸡饭的时候

    电商 2021年9月27日
  • 波罗斯比饿狼厉害(饿狼为什么越来越强)

    在一拳超人这部动漫中,目前为止正式出场的怪人里,只有两个有资格被称作大boss,一个是波罗斯,另一个

    2022年5月25日
  • 吉林白山临江空气质量,白山市 空气质量

    「白山」11/21,大雪,-10~0℃,东风<3级,空气质量良立即打开「白山」11/21,大雪,-10~0℃,东风<3级,空气质量良2天前邯郸天气雷达白山,今日大雪,白天最高气温0℃,夜间最低温度-10℃,东风·历史上的

    生活 2021年11月23日
  • 草鱼的做法大全(草鱼的做法大全家常菜)

    草鱼的做法大全(草鱼的做法大全家常菜)每天更新各种家常菜、农家菜的做法,让您吃好每一天
    草鱼的做法大全(草鱼的做法大全家常菜)
    鱼是进补的好食材,它的味道鲜美,营养价值也极高,今天我来介绍一道好吃的香辣鱼,我在家都会经常

    电商 2021年12月7日
  • 神武端游天策怎么样,神武手游天策后期怎么样

    神武3手游天策怎么样神武3天策怎么样 神武3天策门派好玩吗网友分享: 【横扫天下】 门派名称:天策 门派导师:程将军 收徒条件:人族,性别不限 可选择角色:叶青峰、慕子白、楚碧秋、晓飞燕、紫嫣然、云飞扬 门派心法:装备。神武手游新门派怎么样?神武手游新门派怎么样?这道题答案是这样的 神武4目前一共有十一个门派,分别是物理、法系、封系和辅助门派,本次小编就对着近期的调整来和大家简单的分析一请问神武手游2天策适合三力一体一耐吗,如果适合请问走什么路线?绝对不能这么加点,现在天策都是9力1敏或9力1耐。路线的话推荐高爆发路线,就打一波,打完不是他死就是你亡。PS:不推荐加体,因为很没必要,排行榜前列

    阅读 2022年6月25日
  • 淘宝怎么领取双十一红包,淘宝双十一怎么领大红包

    双十一淘宝红包怎么分享,双十一淘宝红包,淘宝红包使用规则双十一淘宝红包怎么分享 现在大家在双十一活动期间都会去抢红包,那么这种淘宝红包也都是会去分享的这样的话,就可以让自己的小伙伴们都去帮助领取,这样双方都可以享受优惠的

    电商 2021年11月9日