資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡(luò)安全教程|m.hailashopping.com|我的開發(fā)技術(shù)隨記

 找回密碼
 注冊成為正式會員
查看: 8801|回復(fù): 24
打印 上一主題 下一主題

[網(wǎng)絡(luò)安全/滲透測試] PHP反序列化漏洞代碼審計

[復(fù)制鏈接]

715

主題

1223

帖子

1

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
11472
積分
4971
貢獻
0
在線時間
2065 小時
注冊時間
2015-4-20
最后登錄
2024-7-9

終身VIP會員

跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2019-4-11 17:27:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
PHP反序列化漏洞代碼審計1、什么是序列化



A、PHP網(wǎng)站的定義:

所有php里面的值都可以使用函數(shù)serialize()來返回一個包含字節(jié)流的字符串來表示。unserialize()函數(shù)能夠重新把字符串變回php原來的值。 序列化一個對象將會保存對象的所有變量,但是不會保存對象的方法,只會保存類的名字。


按個人理解就是:

serialize()將一個對象轉(zhuǎn)換成一個字符串,unserialize()將字符串還原為一個對象。
當(dāng)然從本質(zhì)上來說,反序列化的數(shù)據(jù)本身是沒有危害的,用戶可控數(shù)據(jù)進行反序列化是存在危害的。


B、PHP反序列化

php允許保存一個對象方便以后重用,這個過程被稱為序列化。為什么要有序列化這種機制呢?在傳遞變量的過程中,有可能遇到變量值要跨腳本文件傳遞的過程。試想,如果為一個腳本中想要調(diào)用之前一個腳本的變量,但是前一個腳本已經(jīng)執(zhí)行完畢,所有的變量和內(nèi)容釋放掉了,我們要如何操作呢?難道要前一個腳本不斷的循環(huán),等待后面腳本調(diào)用?這肯定是不現(xiàn)實的。因為這樣的操作,在小項目還好,在大項目里是極其浪費資源的。但是如果你將一個對象序列化,那么它就會變成一個字符串,等你需要的時候再通過反序列化轉(zhuǎn)換回變了變量,在進行調(diào)用就好了,在這樣就剩了資源的使用。


2、理解PHP反序列化漏洞
PHP類中有一種特殊函數(shù)體的存在叫魔法函數(shù),magic函數(shù)命名是以符號__開頭的,比如 __construct, __destruct, __toString, __sleep, __wakeup等等。這些函數(shù)在某些情況下會自動調(diào)用,比如__construct當(dāng)一個對象創(chuàng)建時被調(diào)用,__destruct當(dāng)一個對象銷毀時被調(diào)用,__toString當(dāng)一個對象被當(dāng)作一個字符串使用。
而在反序列化時,如果反序列化對象中存在魔法函數(shù),使用unserialize()函數(shù)同時也會觸發(fā)。這樣,一旦我們能夠控制unserialize()入口,那么就可能引發(fā)對象注入漏洞。


3、PHP反序列化漏洞利用的前提
a.unserialize()函數(shù)的參數(shù)可控;
b.php文件中存在可利用的類,類中有魔術(shù)方法


游客,如果您要查看本帖隱藏內(nèi)容請回復(fù)


回復(fù)

使用道具 舉報

4

主題

565

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
419
積分
597
貢獻
0
在線時間
256 小時
注冊時間
2018-6-7
最后登錄
2023-10-29

終身VIP會員

沙發(fā)
發(fā)表于 2019-4-11 17:46:10 | 只看該作者
感謝分享 正好反序列化漏洞不是很清楚
回復(fù) 支持 反對

使用道具 舉報

5

主題

330

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
378
積分
694
貢獻
0
在線時間
134 小時
注冊時間
2016-9-2
最后登錄
2024-2-29

終身VIP會員

板凳
發(fā)表于 2019-5-10 17:59:59 | 只看該作者
11111111
回復(fù)

使用道具 舉報

3

主題

222

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
173
積分
246
貢獻
0
在線時間
63 小時
注冊時間
2019-4-11
最后登錄
2022-9-3

終身VIP會員

地板
發(fā)表于 2019-5-13 10:20:34 | 只看該作者
PHP反序列化漏洞代碼審計
回復(fù) 支持 反對

使用道具 舉報

7

主題

202

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
102
積分
208
貢獻
0
在線時間
37 小時
注冊時間
2018-2-9
最后登錄
2025-5-22

終身VIP會員

5#
發(fā)表于 2019-5-13 10:29:56 | 只看該作者
我發(fā)現(xiàn)我一天也離不開資源共享吧了!
回復(fù) 支持 反對

使用道具 舉報

0

主題

35

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
20
積分
48
貢獻
0
在線時間
6 小時
注冊時間
2019-2-10
最后登錄
2022-1-20

終身VIP會員

6#
發(fā)表于 2019-8-16 00:57:44 | 只看該作者
謝謝樓主分享
回復(fù) 支持 反對

使用道具 舉報

13

主題

587

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
196
積分
600
貢獻
0
在線時間
73 小時
注冊時間
2020-3-19
最后登錄
2024-3-10

終身VIP會員

7#
發(fā)表于 2020-3-19 23:57:53 | 只看該作者
super
回復(fù)

使用道具 舉報

0

主題

21

帖子

0

精華

新手上路

Rank: 1

資源幣
17
積分
21
貢獻
0
在線時間
2 小時
注冊時間
2020-3-24
最后登錄
2020-4-11
8#
發(fā)表于 2020-3-26 20:18:40 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

3

主題

106

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
81
積分
145
貢獻
0
在線時間
19 小時
注冊時間
2015-10-25
最后登錄
2022-3-9

終身VIP會員

9#
發(fā)表于 2020-4-16 18:18:06 | 只看該作者
多謝分享
回復(fù)

使用道具 舉報

0

主題

363

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
8
積分
363
貢獻
0
在線時間
10 小時
注冊時間
2020-3-18
最后登錄
2020-4-19

終身VIP會員

10#
發(fā)表于 2020-4-18 10:27:11 | 只看該作者
dfs
回復(fù)

使用道具 舉報

 點擊右側(cè)快捷回復(fù)  

本版積分規(guī)則

小黑屋|資源共享吧 ( 瓊ICP備2023000410號-1 )

GMT+8, 2025-8-3 02:24 , Processed in 0.065803 second(s), 13 queries , MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回復(fù) 返回頂部 返回列表