您的位置:首页 > 编程语言 > PHP开发

反序列化漏洞问题研究之php篇

2016-12-31 17:28 483 查看
0x01 简介

php的反序列化反序列化漏洞又称php对象注入(php Object Injection)产生的问题主要分以下两类:

将传来的序列化数据直接unserilize,造成魔术函数的执行。这种情况在一般的应用中依然屡见不鲜。

PHP Session 序列化及反序列化处理器设置不当会带来的安全隐患。(这个在乌云上之前已有文章有比较详细的介绍)

php的反序列化主要是unserialize代码执行,需要满足两个条件

unserialize()的参数用户可以控制,这样就可以构造出需要反序列化的数据结构。

存在__destruct()或者__wakeup()这样的魔术函数,魔术函数实现的逻辑决定了能执行什么样的代码。

关于一些php反序列化的漏洞

Exploiting PHP7 unserialize
https://www.youtube.com/watch?v=LDcaPstAuPk
0x03 防范:

不用使用serialize()和unserialize(),使用json_encode和json_decode()也可以达到相同的目的,如果使用了序列化,那么久不要将用户提交的数据传到unserialize()中去。

0x04 Reference:

1.http://lynahex.com/index.php/archives/PHP-Object-Injection.html

2.http://www.91ri.org/15925.html

3.http://www.venenof.com/index.php/archives/76/

4.http://rickgray.me/2015/11/06/unserialize-attack-with-vbulletin-5-x-x-rce.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: