一.反序列化漏洞
什么是反序列化
就是把一个对象变成可以传输的字符串,目的就是为了方便传输。
反序列化漏洞产生的原理
serialize() 和 unserialize() 在 PHP内部实现上是没有漏洞的,之所以会产生反序列化漏洞是因为应用程序在处理对象、魔术函数以及序列化相关问题的时候导致的。
序列化
在我们讲PHP反序列化的时候,基本都是围绕着serialize(),unserialize()这两个函数。
二.反序列化漏洞实验
PHP反序列化漏洞
输入
O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}
jboss反序列化漏洞还原
Weblogic反序列化
反序列化漏洞(CVE-2018-2628)
打开weblogic
检测weblogic
任意文件上传漏洞(CVE-2018-2894)
未授权访问路径:http://192.168.18.36:7001//ws_utc/config.do
Weblogic默认路径:
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\tmp\WSTestPageWorkDir
我们改成以下路径
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\wstestclient\i7n5e1\war\css
抓包
SSRF漏洞
可参考:https://www.jianshu.com/p/97b157a20108
三.安全防范
安全配置好php相关参数
通过Php配置文件里面有个disable_functions = 配置,这个禁止某些php函数,
服务器便是用这个来禁止php的执行命令函数。
升级中间件
严格控制传入变量,严谨使用魔法函数