2017年9月22日星期五

【技术分享】看我如何进行Python对象注入利用

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
【技术分享】看我如何进行Python对象注入利用  阅读原文»

2017-09-22 13:59:21 阅读:1075次 收藏 来源: defencely.com 作者:天鸽

http://pic1.hackdig.com/pp/c3eab2e98ed566d0e41940afa978dad6d189562ca6df7402d8235e92d2b7ca870457389dc09e7fea87fccdd9c4cc0d35.jpg

译者:天鸽

预估稿费:130RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


简介


在今天的 Defencely Lab 中,我们将详细介绍和演示 Python 对象注入攻击(Python Object Injection)的细节。整个演示将使用我们专门编写的易受攻击的应用程序和漏洞,源码可以在这里找到 - Github �C Python Object Injection


需要的基础知识


了解基本的 OOP 概念


Python 类和对象简介


什么是类?

类是一个模板,你可以在其中存储变量和方法。

什么是对象?

对象可以是任何东西,一个类的实例,一个变量或者一个类中的函数。

让我们来看一个实际的例子:

http://p0.qhimg.com/t01986ba5640dc07a42.jpg

在这里,你可以看到我们创建了一个名为 Test 的类实例,并将它分配给了一个名为 simpleapp 的变量,将变量 rony 的值传递给了该实例。

输出如下:

simpleapp = Test(rony)

当执行此代码时,python 会创建一个对象,然后将我们的值传递给第一个参数。每当 python 创建一个对象时,__init__ 函数就会被调用。__init__ 像 python 中的构造函数一样工作。

伴随着我们的输出,打印出了一个随机的数字,这是因为我们直接打印出了实例分配的变量,以显示 python 是如何对待一个对象的。

 

什么是对象注入?


对象注入是一种应用程序级的安全漏洞,它允许攻击者根据上下文执行严重的攻击

Python 专门将某原生模块命名为"Pickle",它在特定情况下容易受到对象注入攻击。

危险发生在当用户控制的数据被传递时,Python 已经在其官方文档中指出 pickle 是一个存在风险的模块。

http://p1.qhimg.com/t01e1125c6724057f20.png

我们可以将"Pickle"模块与 PHP 中的 serialize/unserialize() 原生函数进行比较,当存在用户输入时该 PHP 函数也容易受到对象注入攻击。

在 Python 中,与 PHP 不同的是,我们不需要一个魔术方法作为注入到对象的条件。

在 python 中进行序列化和反序列化仅仅是对数据的 PicklingUnpickling

除非用户输入的数据被传递到 Unpickling 的过程中,否则,Python 中数据的 Unpickling 并不一定是危险的。

下面是 Python 中 Pickled 和 Unpickled 的数据的样子:

http://p1.qhimg.com/t01d8f3ea4df77c258e.png


【知识】9月20日 - 每日安全知识热点  阅读原文»

2017-09-20 10:27:21 阅读:987次 收藏 来源: 安全客 作者:童话

http://p6.qhimg.com/t017313015b51e6034e.png

热点概要:Google 呼吁警惕政府支持的黑客攻击、打印机安全详解、CVE-2017-12615 Apache Tomcat Remote Code Execution via JSP、CVE-2017-3085:在远程沙箱中运行,Adobe Flash Windows用户凭据泄漏漏洞、Active Directory访问控制列表、浏览器安全白皮书、常见的WiFi攻击及检测方法、The PYPI Python Package Hack、Microsoft Edge: 内存损坏与部分页面加载漏洞


国内热词(一下内容部分来自:http://www.solidot.org/ )


Google 呼吁警惕政府支持的黑客攻击

Equifax 今年三月就遭到过一次入侵


资讯类:


CVE-2017-12615 Apache Tomcat Remote Code Execution via JSP

http://www.openwall.com/lists/oss-security/2017/09/19/1 


技术类:


新的Android木马针对60多家银行和社交应用程序

https://clientsidedetection.com/new_android_trojan_targeting_over_60_banks_and_social_apps.html 


打印机安全详解

https://0x00sec.org/t/an-introduction-to-printer-exploitation-1/3565/1 


CVE-2017-3085:在远程沙箱中运行,Adobe Flash Windows用户凭据泄漏漏洞

https://blog.bjornweb.nl/2017/08/flash-remote-sandbox-escape-windows-user-credentials-leak/ 


smbmap:用于SMB枚举的工具

https://github.com/ShawnDEvans/smbmap 


阅读更多内容

没有评论:

发表评论