资源共享吧|易语言论坛|逆向破解教程|辅助开发教程|网络安全教程|www.zygx8.com|我的开发技术随记

 找回密码
 注册成为正式会员
查看: 2729|回复: 23

[网络安全/渗透测试] PHP反序列化漏洞代码审计

[复制链接]

715

主题

1223

帖子

1

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
11472
积分
4971
贡献
0
在线时间
2064 小时
注册时间
2015-4-20
最后登录
2024-3-25

终身VIP会员

发表于 2019-4-11 17:27:19 | 显示全部楼层 |阅读模式
PHP反序列化漏洞代码审计1、什么是序列化



A、PHP网站的定义:

所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示。unserialize()函数能够重新把字符串变回php原来的值。 序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。


按个人理解就是:

serialize()将一个对象转换成一个字符串,unserialize()将字符串还原为一个对象。
当然从本质上来说,反序列化的数据本身是没有危害的,用户可控数据进行反序列化是存在危害的。


B、PHP反序列化

php允许保存一个对象方便以后重用,这个过程被称为序列化。为什么要有序列化这种机制呢?在传递变量的过程中,有可能遇到变量值要跨脚本文件传递的过程。试想,如果为一个脚本中想要调用之前一个脚本的变量,但是前一个脚本已经执行完毕,所有的变量和内容释放掉了,我们要如何操作呢?难道要前一个脚本不断的循环,等待后面脚本调用?这肯定是不现实的。因为这样的操作,在小项目还好,在大项目里是极其浪费资源的。但是如果你将一个对象序列化,那么它就会变成一个字符串,等你需要的时候再通过反序列化转换回变了变量,在进行调用就好了,在这样就剩了资源的使用。


2、理解PHP反序列化漏洞
PHP类中有一种特殊函数体的存在叫魔法函数,magic函数命名是以符号__开头的,比如 __construct, __destruct, __toString, __sleep, __wakeup等等。这些函数在某些情况下会自动调用,比如__construct当一个对象创建时被调用,__destruct当一个对象销毁时被调用,__toString当一个对象被当作一个字符串使用。
而在反序列化时,如果反序列化对象中存在魔法函数,使用unserialize()函数同时也会触发。这样,一旦我们能够控制unserialize()入口,那么就可能引发对象注入漏洞。


3、PHP反序列化漏洞利用的前提
a.unserialize()函数的参数可控;
b.php文件中存在可利用的类,类中有魔术方法


游客,如果您要查看本帖隐藏内容请回复


回复

使用道具 举报

4

主题

565

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
419
积分
597
贡献
0
在线时间
256 小时
注册时间
2018-6-7
最后登录
2023-10-29

终身VIP会员

发表于 2019-4-11 17:46:10 | 显示全部楼层
感谢分享 正好反序列化漏洞不是很清楚
回复 支持 反对

使用道具 举报

5

主题

330

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
378
积分
694
贡献
0
在线时间
134 小时
注册时间
2016-9-2
最后登录
2024-2-29

终身VIP会员

发表于 2019-5-10 17:59:59 | 显示全部楼层
11111111
回复

使用道具 举报

3

主题

222

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
173
积分
246
贡献
0
在线时间
63 小时
注册时间
2019-4-11
最后登录
2022-9-3

终身VIP会员

发表于 2019-5-13 10:20:34 | 显示全部楼层
PHP反序列化漏洞代码审计
回复 支持 反对

使用道具 举报

7

主题

194

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
98
积分
200
贡献
0
在线时间
35 小时
注册时间
2018-2-9
最后登录
2024-4-22

终身VIP会员

发表于 2019-5-13 10:29:56 | 显示全部楼层
我发现我一天也离不开资源共享吧了!
回复 支持 反对

使用道具 举报

0

主题

35

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
20
积分
48
贡献
0
在线时间
6 小时
注册时间
2019-2-10
最后登录
2022-1-20

终身VIP会员

发表于 2019-8-16 00:57:44 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

13

主题

587

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
196
积分
600
贡献
0
在线时间
73 小时
注册时间
2020-3-19
最后登录
2024-3-10

终身VIP会员

发表于 2020-3-19 23:57:53 | 显示全部楼层
super
回复

使用道具 举报

0

主题

21

帖子

0

精华

新手上路

Rank: 1

资源币
17
积分
21
贡献
0
在线时间
2 小时
注册时间
2020-3-24
最后登录
2020-4-11
发表于 2020-3-26 20:18:40 | 显示全部楼层
感谢分享
回复

使用道具 举报

3

主题

106

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
81
积分
145
贡献
0
在线时间
19 小时
注册时间
2015-10-25
最后登录
2022-3-9

终身VIP会员

发表于 2020-4-16 18:18:06 | 显示全部楼层
多谢分享
回复

使用道具 举报

0

主题

363

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
8
积分
363
贡献
0
在线时间
10 小时
注册时间
2020-3-18
最后登录
2020-4-19

终身VIP会员

发表于 2020-4-18 10:27:11 | 显示全部楼层
dfs
回复

使用道具 举报

 点击右侧快捷回复  

本版积分规则

小黑屋|资源共享吧 ( 琼ICP备2021005790号-1 )

GMT+8, 2024-4-24 15:35 , Processed in 0.069554 second(s), 13 queries , MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表