小猿圈淺析web安全之序列化與反序列化漏洞

對于現(xiàn)在的互聯(lián)網(wǎng)產(chǎn)品你了解多少?有沒有想過自己有一天會被黑客攻擊,自己的人身財產(chǎn)得不到保障,不過現(xiàn)在web安全推出以后得到了改善,今天小猿圈web安全老師就為大家分享web安全的一個知識點,希望對于你的學習有所幫助,web安全之序列化與反序列化漏洞。

1.序列化簡介

將原本的數(shù)據(jù)通過某種手段進行“壓縮”,并且按照一定的格式存儲的過程就可以稱之為序列化。

如:通常情況下為了前后端之間的傳輸方便我們將其json_encode了,然后我們后端如果接受到這個json數(shù)據(jù),還能在json_decode回來,再通俗一點就是tx目前不支持直接傳輸文件夾,我們必須要壓縮一下然后傳輸,對方接收到需要解壓才能看到你的數(shù)據(jù)。

1.1序列化與反序列化的區(qū)別

序列化就是將對象用字符串表示,反序列化就是將序列化字符串轉(zhuǎn)換為對象。

注意:序列化的對象可以是class也可以是Array,string等其他對象。

2.PHP序列化

PHP的所謂的序列化也是一個將各種類型的數(shù)據(jù),壓縮并按照一定格式存儲的過程,他所使用的函數(shù)是serialize()。

3.PHP序列化三種權(quán)限

序列化為了把這個類的信息完全壓縮,自然把屬性的權(quán)限考慮了進去。

將序列化的內(nèi)容輸入到txt文件里。

可以看到三個權(quán)限表示的方式是不一個樣的。

flag作為私有屬性,在其前面加了.類名.。

test作為保護屬性,在其前面加了.*.。

而test1公有屬性則,按照常規(guī)理解的方式。

所以總結(jié)如下:

在序列化的過程中:

私有屬性:.類名.屬性名

如:s:10:"testflag";

保護屬性:.*.屬性名

如:s:7:"*test";

公有屬性:屬性名

如:test1

4.序列化利用條件

根據(jù)上面的序列化輸出:

在序列化數(shù)據(jù)中我們,無法還原類中具有的方法。

所以這就引出了序列化的兩個條件。

1.當前所利用的作用域下面必須要有該類存在,該類中必須要含有unserialize()函數(shù)。

2.我們只能控制類中的屬性來攻擊。

因為沒有序列化方法,我們能控制的只有類的屬性,因此類屬性就是我們唯一的攻擊入口。

以上就是小猿圈web安全講師對web安全之序列化與反序列化漏洞的簡單介紹,通過以上的介紹你是否對web安全你有了一定的了解呢,是否有想過學習web安全呢?但是苦于自己沒有合適的平臺,那么久來小猿圈看看吧,里面有你需要的知識。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,135評論 1 32
  • 概要 64學時 3.5學分 章節(jié)安排 電子商務網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,285評論 0 3
  • php對象注入是一個非常常見的漏洞,這個類型的漏洞雖然有些難以利用,但仍舊非常危險。為了理解這個漏洞,請讀者具備基...
    BerL1n閱讀 3,580評論 0 2
  • 浙江米面,海鮮類……炒 開水入糯米浸泡、撈出。肉,貝類,蝦,豆干,雞蛋,姜,蔥花(青菜),炒熟即可。 小魚即可,小...
    pray依一閱讀 140評論 0 0
  • 昨天大家提交的作業(yè)很給力, 雖然短小, 但主題鮮明, 其實每個人都有發(fā)表的能力, 我們?nèi)鄙俚闹皇菄L試! 來來來, ...
    榮成二實中閱讀 344評論 23 1