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

標題: PHP反序列化漏洞代碼審計 [打印本頁]

作者: show0p    時間: 2019-4-11 17:27
標題: PHP反序列化漏洞代碼審計
PHP反序列化漏洞代碼審計1、什么是序列化



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

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


按個人理解就是:

serialize()將一個對象轉(zhuǎn)換成一個字符串,unserialize()將字符串還原為一個對象。
當然從本質(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當一個對象創(chuàng)建時被調(diào)用,__destruct當一個對象銷毀時被調(diào)用,__toString當一個對象被當作一個字符串使用。
而在反序列化時,如果反序列化對象中存在魔法函數(shù),使用unserialize()函數(shù)同時也會觸發(fā)。這樣,一旦我們能夠控制unserialize()入口,那么就可能引發(fā)對象注入漏洞。


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





作者: Catsay    時間: 2019-4-11 17:46
感謝分享 正好反序列化漏洞不是很清楚
作者: nanfangcike    時間: 2019-5-10 17:59
11111111
作者: lanni7    時間: 2019-5-13 10:20
PHP反序列化漏洞代碼審計
作者: cjyes    時間: 2019-5-13 10:29
我發(fā)現(xiàn)我一天也離不開資源共享吧了!
作者: Linuxed    時間: 2019-8-16 00:57
謝謝樓主分享
作者: KeyboArd    時間: 2020-3-19 23:57
super
作者: 5istudy    時間: 2020-3-26 20:18
感謝分享
作者: kevin    時間: 2020-4-16 18:18
多謝分享
作者: 1700311361    時間: 2020-4-18 10:27
dfs
作者: 1393721977    時間: 2020-4-25 00:55
看看
作者: zxcxzxc    時間: 2020-4-28 23:51
6666666666666
作者: GoodStudy    時間: 2020-4-29 01:51
我要學代碼審計,我要挖0day
作者: 2948522338    時間: 2020-6-9 18:40
感謝分享,正好需要這個
作者: wyp-sky    時間: 2020-7-27 23:26
謝謝分享
作者: qwertyuiop1822    時間: 2020-8-9 16:44
祝資源共享吧越來越火!
作者: dahuilang    時間: 2020-11-18 17:56
感謝分享

作者: 青龍青龍    時間: 2020-12-6 09:53

作者: ilike    時間: 2020-12-16 06:51
66666666666666666666
作者: pye    時間: 2021-6-17 11:25
666666666666666
作者: 夕陽殘血    時間: 2021-6-21 18:21
6666666666666
作者: admqq    時間: 2022-11-17 09:56
npplus
作者: CGC    時間: 2023-11-23 19:24
11111
作者: 1215276862    時間: 2024-4-2 15:57
自動回復腳本
作者: 好學的初學者    時間: 2025-1-8 08:51
66666




歡迎光臨 資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡安全教程|m.hailashopping.com|我的開發(fā)技術隨記 (http://m.hailashopping.com/) Powered by Discuz! X3.4