引言
在CTF中反序列化类型的题目还是比较常见的,之前有学习过简单的反序列化,以及简单pop链的构造。这次学习内容为php内置的原生类的反序列化以及一点进阶知识。
在题目给的的代码中找不到可利用的类时,这个时候考虑使用php中的一些原生类有些类不一定能够进行反序列化,php中使用了zend_class_unserialize_deny来禁止一些类的反序列化。
基础知识
原生类常见的用法是用来进行XSS、SSRF、反序列化、或者XXE,今天就来好好总结一下。在CTF中常使用到的原生类有这几类1、Error2、Exception3、SoapClient4、DirectoryIterator5、SimpleXMLElement下面针对这几个类来进行总结。
SoapClient__call方法进行SSRF
soap是什么?
soap是webServer的三要素之一(SOAP、WSDL、UDDI),WSDL用来描述如何访问具体的接口,UUDI用来管理、分发、查询webServer,SOAP是连接web服务和客户端的接口,SOAP是一种简单的基于XML的协议,它使应用程序通过HTTP来交换信息。所以它的使用条件为:1.需要有soap扩展,需要手动开启该扩展。2.需要调用一个不存在的方法触发其__call()函数。3.仅限于