1.什么是序列化 A.PHP网站的定义: 所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示.unserialize()函数能够重新把字符串变回php原来的值. 序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字. 按个人理解就是: serialize()将一个对象转换成一个字符串,unserialize()将字符串还原为一个对象. 当然从本质上来说,反序列化的数据本身是没有危害的,用户可控数据进行反序列化是存在危害的. B.PH…
weblogic WLS 反序列化漏洞学习 鸣谢 感谢POC和分析文档的作者-绿盟大佬=>liaoxinxi:感谢群内各位大佬及时传播了分析文档,我才有幸能看到. 漏洞简介 漏洞威胁:RCE--远程代码执行 漏洞组件:weblogic 影响版本:10.3.6.0.12.1.3.0.12.2.1.2.12.2.1.3 温馨提示:对于攻击者自己构造的新的payload,还没有被oracle加入黑名单,所以还是多加留心.持续监控的好. 漏洞复现 我保存了python漏扫脚本,重命名为weblogic2…
参考文章: PHP反序列化漏洞入门 easy_serialize_php wp 实战经验丨PHP反序列化漏洞总结 PHP Session 序列化及反序列化处理器设置使用不当带来的安全隐患 利用 phar 拓展 php 反序列化漏洞攻击面 序列化和反序列化的概念 序列化就是将 对象.string.数组array.变量 转换成具有一定格式的字符串. 具体可以看 CTF PHP反序列化,下图摘自此篇文章 其实每个字符对应的含义都很好理解: s ---- string 字符串 i ---- intege…
2017 年 9 月 14 日,国家信息安全漏洞共享平台( CNVD )收录了 JBOSS Application Server 反序列化命令执行漏洞( CNVD-2017-33724,对应 CVE-2017-12149 ),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码. 漏洞细节和验证代码已公开,近期被不法分子利用出现大规模攻击尝试的可能性较大. 0x01. 漏洞复现 1). 环境准备 JBOSS 下载地址:http://download.jboss.org/jbossas…
0x00 前言 最近几天国外安全研究员Soroush Dalili (@irsdl)公布了.NET Remoting应用程序可能存在反序列化安全风险,当服务端使用HTTP信道中的SoapServerFormatterSinkProvider类作为信道接收器并且将自动反序列化TypeFilterLevel属性设置为Full的时候会造成反序列化漏洞,从而实现远程RCE攻击,本文笔者从原理和代码审计的视角做了相关介绍和复现,并且归纳成.NET反序列化漏洞系列课程中的第五课 0x01 .NET Remo…
0X00 前言 Java中的Fastjson曾经爆出了多个反序列化漏洞和Bypass版本,而在.Net领域也有一个Fastjson的库,作者官宣这是一个读写Json效率最高的的.Net 组件,使用内置方法JSON.ToJSON可以快速序列化.Net对象.让你轻松实现.Net中所有类型(对象,基本数据类型等)和Json之间的转换,fastjson是一个开源的Json.Net库,下载地址 http://www.codeproject.com/Articles/159450/fastJSON,反序列过…
0X00 前言 在.NET处理 Ajax应用的时候,通常序列化功能由JavaScriptSerializer类提供,它是.NET2.0之后内部实现的序列化功能的类,位于命名空间System.Web.Script.Serialization.通过System.Web.Extensions引用,让开发者轻松实现.Net中所有类型和Json数据之间的转换,但在某些场景下开发者使用Deserialize 或DeserializeObject方法处理不安全的Json数据时会造成反序列化攻击从而实现远程RC…
0X00 前言 Newtonsoft.Json,这是一个开源的Json.Net库,官方地址:https://www.newtonsoft.com/json ,一个读写Json效率非常高的.Net库,在做开发的时候,很多数据交换都是以json格式传输的.而使用Json的时候,开发者很多时候会涉及到几个序列化对象的使用:DataContractJsonSerializer,JavaScriptSerializer 和 Json.NET即Newtonsoft.Json.大多数人都会选择性能以及通用性较…
0X00 前言 在.NET 框架中的 XmlSerializer 类是一种很棒的工具,它是将高度结构化的 XML 数据映射为 .NET 对象.XmlSerializer类在程序中通过单个 API 调用来执行 XML 文档和对象之间的转换.转换的映射规则在 .NET 类中通过元数据属性来表示,如果程序开发人员使用Type类的静态方法获取外界数据,并调用Deserialize反序列化xml数据就会触发反序列化漏洞攻击(例如DotNetNuke 任意代码执行漏洞 CVE-2017-9822),本文笔者…
java反序列化漏洞是与java相关的漏洞中最常见的一种,也是网络安全工作者关注的重点.在cve中搜索关键字serialized共有174条记录,其中83条与java有关:搜索deserialized共有20条记录,其中10条与java有关.这些出现反序列化漏洞的框架和组件包括的大名鼎鼎的spring,其中还有许多Apache开源项目中的基础组件.例如Apache Commons Collections. 这些基础组件大量被其他框架或组件引用,一旦出现漏洞就会引起大面积的网络安全事故,后果非常严…