經過PHP的hash衝突漏洞進行DDoS攻擊的解決辦法
最近各語言爆hash碰撞漏洞。包含php,ruby,python,java各個語言。Microsoft的.net也受影響。
hash碰撞原理:
Hash,簡單來說,是一種將任意長度的輸入變換成固定長度的輸出,固定長度的輸出在"實際應用場景"下能夠表明該輸入。Hash函數一般被翻譯成散列函數。Hash一般用來校驗信息的一致性。
Hash函數的實現多種多樣,在安全領域應用最爲普遍的是SHA-x系列和MDx系列。Hash函數也劃分爲帶密鑰的Hash函數和不帶密鑰的Hash函數,一般所說的Hash函數是不帶密鑰的Hash函數。這裏對Hash算法的實現原理不作更多的探討。
因爲Hash固定長度輸出的特性,必然會存在多個不一樣輸入產生相同輸出的狀況。若是兩個輸入串的hash函數的值同樣,則稱這兩個串是一個碰撞(Collision)。在理論範圍內,存在一個輸出串對應無窮多個輸入串,因此碰撞具備其必然性。
若是找到碰撞,那麼意味着咱們能夠破壞信息的一致性而不被接收方察覺,搜尋指定輸入的Hash碰撞值的過程被稱做"Hash破解"。這裏須要說明的 是,Hash函數必須是不可逆的,因此不存在從散列值到原始輸入的破解(這裏不包括暴力破解,使用彩虹表是暴力破解的最佳方式,可是仍然沒法保證破解到的 數據是原始數據)。設計不良的Hash算法,很容易讓人找到碰撞值。
kangle web服務器 是一款跨平臺、功能強大、安全穩定、易操做的、高性能的、國產開源的web服務器和反向代理服務器軟件。簡稱:kangle
除此:kangle也是一款專爲作虛擬主機研發的web服務器。實現虛擬主機獨立進程、獨立身份運行。用戶之間安全隔離,一個用戶出問題不影響其餘用戶。安全支持php、asp、asp.net、java、ruby等多種動態開發語言。
kangle 2.7.5新增一個最大post參數,輕鬆防住這個漏洞。進入kangle管理後臺3311設置。點左邊配置==>數據交換,出現以下界面。如圖:
最多POST參數,這裏爲了測試只寫2,通常建議輸入500,便可。使用本功能,必定要打開使用臨時文件。不然無效。效果圖: