Something Specail
63 followers 0 articles/week
漏洞组合拳 - 攻击分布式节点

分布式系统大都需要依赖于消息队列中间件来解决异步处理、应用耦合等问题,消息队列中间件的选择又依赖于整体系统的设计和实现,消息的封装、传递、处理贯穿了整个系统,如果在某一个关键处理逻辑点上出现了安全问题,那么整个分布式节点都有可能受到破坏。 流行的开发语言几乎都存在序列化处理不当导致的命令执行问题,如 Python 里类的魔术方法 __reduce__() 会在 pickle 库进行反序列化的时候进行调用,PHP 中类的魔术方法 __wakup() 同样也会在实例进行反序列化的时候调用等等。 从开发者角度看来,开发语言提供的数据序列化方式方便了实例对象进行跨应用传递,程序A 和 程序B 能够通过序列化数据传递方式来远程访问实例对象或者远程调用方法(如 Java 中的 RMI);而站在安全研究者角度,这种跨应用的数据传递或者调用方式可能存在对象数据篡改和方法恶意调用的安全隐患。...

Thu Sep 22, 2016 12:10
BlackHat 2016 回顾之 JNDI 注入简单解析

(两个多月没产出了,感觉最近身体被掏空~) BlackHat 2016 (USA) 刚结束不久,作为 Web🐶 的我立马去过了一遍与 Web 相关的议题。Web 相关的议题也不算太多,比较精华的就是 @pentester 大牛的议题 - “A Journey From JNDI LDAP Manipulation To RCE”,其介绍了 Java 中利用 JNDI 进行 RCE 的具体思路和案例,早在今年 1 月时就已经爆出过 Spring 框架的一个 RCE,该漏洞原理最根本就是利用了 JNDI 的注入,反序列化只起到一个触发 JNDI 注入的作用。 本文在学习议题 PPT 的基础上,结合自己的一些理解,按理论基础了解到具体利用实现的一个过程进行回顾。(也是一名不会 Java...

Sun Aug 21, 2016 20:40
漏洞检测的那些事儿

好像很久没发文了,近日心血来潮准备谈谈 “漏洞检测的那些事儿”。现在有一个现象就是一旦有危害较高的漏洞的验证 PoC 或者利用 EXP 被公布出来,就会有一大群饥渴难忍的帽子们去刷洞,对于一个路人甲的我来说,看得有点眼红。XD 刷洞归刷洞,蛋还是要扯的。漏洞从披露到研究员分析验证,再到 PoC 编写,进而到大规模扫描检测,在这环环相扣的漏洞应急生命周期中,我认为最关键的部分应该算是 PoC编写 和 漏洞检测 这两个部分了: PoC编写 - 复现漏洞环境,将漏洞复现流程代码化的过程 漏洞检测 - 使用编写好的 PoC 去验证测试目标是否存在着漏洞,需要注意的是在这个过程(或者说是在编写 PoC 的时候)需要做到安全、有效和无害,尽可能或者避免扫描过程对目标主机产生不可恢复的影响...

Thu Jun 2, 2016 12:13
Struts2 历史 RCE 漏洞回顾不完全系列

刚爆出 Struts2 远程命令执行 S2-032 的时候让我有点心无力,作为一名安全研究员还是不能偷懒,经典漏洞还是应该去分析回顾一下的。 如果你想看的是详细的底层代码跟踪分析,那我也只能 say sorry 了。能力有限一些细节无法很好的写在这里,因为确实太多了 QWQ。这里只是对 ST2 历史 RCE 漏洞的一个回顾,同时也希望对这些有漏洞有疑惑或者和我一样曾经对它感到吃力的人带来一点点帮助。所有文中所提漏洞的测试环境 WAR 包附后,想要自己进行复现测试或者查看漏洞起因关键代码的同学可以下载下来跟着文章实践一下。 已经完成:S2-001, S2-007, S2-008, S2-012, S2-013, S2-015, S2-016, S2-029, S2-32 (WAR 包集合...

Sat May 7, 2016 09:39
定时炸弹 - MQ 代理中危险的序列化数据

分布式应用中消息队列使用特别广泛,而针对分布式集群的攻击常常是点到面的扩散,突破关键点从而控制整个集群。在使用消息队列传递消息时,不安全的数据序列化方式便为整体系统埋下了一颗定时炸弹,一旦消息代理中间件被攻破就会导致整个工作节点沦陷。 (本文只对可行思路进行阐述,如有不恰当之处,还望指出) 一、消息队列与数据序列化 1. 消息队列代理 在一个分布式系统中,消息队列(MQ)是必不可少的,任务下发到消息队列代理中,工作节点从队列中取出相应的任务进行处理,以图的形式展现出来是这个样子的: 任务通过 Master 下发到消息队列代理中,Workers 从队列中取出任务然后进行解析和处理,按照配置对执行结果进行返回。下面以 Python 中的分布式任务调度框架 Celery...

Sun Apr 17, 2016 06:30
PyYAML 对象类型解析导致的命令执行问题

近日回顾了 PyCon 2015 上 @Tom Eastman 所讲的关于 Python 序列化格式的安全议题 -《Serialization formats are not toys》。议题主要介绍了 YAML、XML 和 JSON 三种格式用于 Python 序列化数据处理所存在的一些安全问题,其中 XML 部分讲解的是 Python 中的 XXE,而 Python 处理 JSON 数据本身不存在问题,但在前端 JavaScript 对返回 JSON 进行处理时常常直接使用 eval() 来转换类型从而留下安全隐患。 关于 XML 和 JSON 格式相关的安全问题本文就不多提了,本文仅记录下议题中所提到的 Python PyYAML 模块在处理 YAML 格式数据时所存在的问题。 ...

Sun Apr 17, 2016 06:30

Build your own newsfeed

Ready to give it a go?
Start a 14-day trial, no credit card required.

Create account