web應用安全自學指南

2022-06-23 20:45:09 字數 2494 閱讀 4124

b站搜sec875

參考資料:

參考資料: github安全類主題

參考資料: burpsuite工具開發公司出品的教學

紅盟抖音學習***:931496577

我們想象一個檔案,在網路上是直接整個的發,還是切分為幾組的發好一點呢?

當然是將它們分割好,按照一定的順序和序列和佇列這些類似的詞語來傳送比較好啦。

序列化是將複雜的資料結構(例如物件及其欄位)轉換為“更扁平”格式的過程,該格式可以作為位元組順序流傳送和接收。

可能會提的問題,什麼是資料結構?

想象一下,計算機中只認識二進位制0和1,對於字母,數字和字元有ascii碼,utf國際標準碼把現實中的字母,數字和字元轉換成0和1。除此之外,還有陣列,堆疊,連結串列,,雜湊表,佇列,物件,屬性等,它們在轉變成二進位制時,中間會進行各種的運算與處理,然後存到硬體裡,當取出來或者查詢時計算機還能認識它們並復原它們嗎?變成二進位制以後,如何儲存它們,如何組織它們,最後取出來還認識它們,邏輯上不失真,就是資料結構講述的事情。

反序列化當然就是把位元組流還原好,變成“從前的那個東西啦”

對於**而言。使用者在使用**過程中所產生的一切資料,變成序列化發過去了。**後臺程式反序列化把它們讀出來。

攻擊者能夠操縱序列化的物件,將有害資料傳遞到web應用程式**中。

理想情況下,使用者輸入絕對不應反序列化。

不安全的反序列化的影響可能非常嚴重,因為它為大規模增加攻擊面提供了切入點。通常是遠端執行**。

注意:儘管許多實驗和示例都是基於php的,但是大多數利用技術對其他語言也同樣有效。

注意:儘管在這裡使用的詞語是序列化,同樣類似的描述在其他語言中,比如ruby,python,可能就叫作封送,酸洗,醃製。。反正都是加一道工,變成位元組流的不同叫法。

在稽核期間,您應該檢視傳遞到**的所有資料,並嘗試識別任何看起來像序列化資料的內容。這需要我們提前知道並學習好,各種語言的序列化長得啥樣才能在所有資料中找到它們。

利用一些反序列化漏洞可以像更改序列化物件中的屬性一樣容易。隨著物件狀態的持久化,您可以研究序列化的資料以識別和編輯有趣的屬性值。然後,您可以通過反序列化過程將惡意物件傳遞到**中。這是基本反序列化利用的第一步。(這裡說的是在有數值的情況下,進行篡改)

廣義上講,在處理序列化物件時可以採用兩種方法。您可以直接以物件的位元組流形式對其進行編輯,也可以使用相應的語言編寫簡短的指令碼來自己建立和序列化新物件。使用二進位制序列化格式時,後一種方法通常更容易。

這裡需要一種我們熟悉的場景來理解新的知識:想象一下去財務部拿錢的方式為報自己的姓名,你對此安全有點疑惑,財務部怎麼可能根據每個人的姓名認識到每個人呢?(這裡假設財務部沒有根據姓名去電腦中調取相關個人資訊),然後你突發奇想的,無中生有出來一個人名(自己建立了一個新的序列化物件),對著財務部說,我叫秦始皇,拿十萬報銷費。然後,就恭喜你發現了財務部的漏洞,直接提款給你了。

當篡改資料時,只要攻擊者保留有效的序列化物件,反序列化過程將建立具有修改後的屬性值的伺服器端物件。

舉一個簡單的例子,考慮一個使用序列化user物件的**,該**將有關使用者會話的資料儲存在cookie中。如果攻擊者在http請求中發現了此序列化物件,則他們可能會對其進行解碼以找到以下位元組流:

o:4:"user":2:
isadmin屬性是顯而易見的興趣點。攻擊者可以簡單地將屬性的布林值更改為1(true),重新編碼物件,然後使用此修改後的值覆蓋其當前cookie。孤立地,這沒有效果。但是,假設**使用此cookie來檢查當前使用者是否有權訪問某些管理功能:

$user = unserialize($_cookie);if ($user->isadmin === true)
此易受攻擊的**將user基於cookie中的資料(包括攻擊者修改的isadmin屬性)例項化物件。絕對不會檢查序列化物件的真實性。然後將這些資料傳遞到條件語句中,在這種情況下,將允許輕鬆地進行特權升級。

這種簡單的情況在野外並不常見。但是,以這種方式編輯屬性值說明了訪問不安全反序列化所暴露的大量攻擊面的第一步。

每一個都有實驗來提供大家練習

在2018年的十大網路黑客技術中都採用了這項發明技術。閱讀此文,將我們的認知跟進到最新。

一般而言,除非絕對必要,否則應避免對使用者輸入進行反序列化。在許多情況下,它可能帶來的利用的高度嚴重性以及防範這些利用的難度超過了收益。說白了需要很貴的人力物力來做防禦。

web安全

從瀏覽器的角度來看,網頁只是一個長字串。瀏覽器會按順序處理這個字串,在此過程中,會顯示某些字元,同時按特殊規則解釋其他字元 如和 。如果惡意...

web安全

本文是讀書總結,出自《白帽子講web安全》 吳翰清 網際網路本來是安全的,自從有了研究安全的人之後,網際網路就變得不安全了。 字典的解釋是指...

web 安全

3 資料庫自身使用最小許可權原則,系統程式不使用最高許可權的root對資料庫進行連線,而是使用能滿足系統需求的最小許可權賬戶進行資料庫連線,...