(Python)PyYAML反序列化漏洞

基本概念

(引用百度)YAML是“YAML不是一种标记语言”的外语缩写;但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

PyYAML是Python中YAML语言的编辑器和解释器。

安装:pip install PyYAML

两个函数:

yaml.dump():将一个Python对象序列化生成为yaml文档。

yaml.load():将一个yaml文档反序列化为一个Python对象。

简单的用例:

可以看到,User对象经过yaml序列化之后内容为一行字符串,简单解释一下:“!!pythonobject”为yaml标签,yaml.load()会识别该标签并调用相应的方法执行反序列化操作;冒号后面的“__main__”为py文件名,这里为本文件的意

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值