Python 中存在原型污染漏洞变体

996488fca8989d3106cd709a7f747878.gif 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

原型污染漏洞是与基于原型的语言相关的危险漏洞类型,而基于原型的语言中,最流行的又数 JavaScript。

然而,研究人员发现了适用于Python的一个原型污染变体,其它基于类的编程语言也易受类似攻击。

e35e927bc3629888f9c532dbaa7d8402.png

从原型污染到类污染

在JavaScript 中,每个对象集成了父对象的“原型”,包括该对象的所有属性和函数。JavaScript 对象可遍历父原型访问其功能。原型可在运行时修改,使JavaScript具有动态性和灵活性,但同时也具有危险性。原型污染攻击利用这一特征来修改JavaScript应用程序的行为并执行恶意操作。基于类的语言如Python本应对这类操纵免疫。

但是,安全研究员AbduIraheem Khaled 发现一种编程模式可导致攻击者在Python程序上执行类似原型污染的攻击,他将其称为“类污染”。Khaled提到,自己是在将JavaScript 原型污染的概念翻译为Python时发现这一攻击的。

7f1f044e62e6e82d0751140887a8d0e5.png

操纵Python 类

Kaled 表示,所有类型的Python 应用程序,只要它们未清理用户输入并执行不安全的对象属性分配,则均易受这类攻击影响。他在调查中发现了多个流行Python库实例具有不安全的合并函数,使其易受类污染攻击。类污染的最小影响是拒绝服务。但攻击还可能在Python web 应用上造成更大的影响,如:

  • 覆写密钥:用户签名Flask web 应用各种的会话,并手动构造合法会话发动会话接管攻击。

  • 规避过滤器:例如在尝试加载模板文件时,绕过Jinja 中执行的路径遍历防御,从而导致本地文件披露和包含。攻击者无需被限制到模板目录,即可从任意本地目录中加载文件。

  • 远程命令执行:通过覆写COMSPEC或PATH环境变量。

Khaled 指出,“原型污染绝对是社区需要更多关注的回头,我们近期看到对这一话题的关注。类污染可能是一种刚出现的新漏洞类型,不过我认为它很快也会出现在其它编程语言中。”

代码卫士试用地址:https://codesafe.qianxin.com

开源卫士试用地址:https://oss.qianxin.com


推荐阅读

W4SP Stealer瞄准Python开发人员,发动供应链攻击

这个Python 0day 已存在15年,已影响超过35万个开源项目

脚本小子如何可通过25行Python代码破坏美国加油站

PyPI 仓库中的恶意Python包将被盗AWS密钥发送至不安全的站点

原文链接

https://portswigger.net/daily-swig/prototype-pollution-like-bug-variant-discovered-in-python

题图:Pixabay License‍

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

ecb1ae656090e1b09a75910f1ed4613e.jpeg

a6378920860e7a709e9520cec988127e.jpeg

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

   b9b5f86c565b4632d05d87f5e0226e30.gif 觉得不错,就点个 “在看” 或 "赞” 吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值