撕开奶罩疯狂揉吮奶头_天堂69堂在线精品视频软件_亚洲中文av一区二区三区_成人无码A片一区二区三区免费看_日韩欧美亚_天天干天天操

18842388900

網站建設 APP開發 小程序

Article/文章

記錄成長點滴 分享您我感悟

您當前位置>首頁 > 知識 > 網站建設

PHP Hash更有缺陷并影響大量Web網站登錄身份驗證

1(6).jpg最近一個被稱為“Magic Hash”的PHP漏洞可以使得攻擊者非法獲取用戶的賬號信息。漏洞原因是PHP以一種特定的方式處理被哈希的字符串,攻擊者可以利用其從中嘗試并可能獲取密碼,繞過登錄認證系統和其它運行在PHP哈希比較之上的函數。

漏洞描述

當PHP處理哈希字符串時,它使用“!=”或“==”來比較哈希值。它將每個以“0E”開頭的哈希值解釋為0,所以如果兩個不同的密碼經過哈希處理后,它們的哈希值以“0E”開頭,那么PHP會認為它們是相同的,都是0。

攻擊者可以通過輸入以“0E”開頭的字符串開頭的字符串來利用此漏洞,該字符串由PHP解釋為0。如果數據庫中的密碼以“0E”開頭,即使沒有真實密碼,他也可以以該用戶身份登錄。

攻擊案例:?

4月8日,WordPress發布了一個重要的更新,其中修復了一系列安全漏洞。其中最突出的是cookie偽造漏洞(CVE-2014-0166)。

我們來看看修補后的代碼:

$鍵=wp_hash($用戶名$ pass_frag '|' $期滿,$方案。); $散列=hash_hmac |; - 如果($ HMAC( 'MD5',$用戶名 '' $期滿,$鍵。) !=$散列){+如果(hash_hmac( 'MD5',$ HMAC,$鍵)!==hash_hmac( 'MD5',$散列,$鍵)){

我試圖分析前一天的漏洞。我對php功能還不太了解。幾個小時我都想不起來。我無法弄清楚為什么我添加了hash_hmac來修復漏洞。那時,我以為它與加密算法中的一些問題有關,并放棄了。

突然,我今天看到了一篇文章,頓悟是比較運算符的一個問題。事實上,我也注意到兩個符號“!=”和“!==”之間的區別,但我想到了使用它的可能性,我專注于hash_hmac。也許這是WordPress的障礙?哦,開玩笑。

我們將所有問題都放在“!=”和“!==”:

我們知道php有兩個相等的運算符,一個是嚴格的,另一個是非嚴格的。 php手冊定義如下:

'==='和'!=='是嚴格的比較器,只有在類型相同時才相等。 '=='和'!='是非嚴格的比較器,在類型轉換后進行比較。

看一下php手冊中給出的例子:

< phpvar_dump(0=='A');> truevar_dump( '1'=='01'); //1==1→truevar_dump('10 '==' 1E1' ); //10==10→truevar_dump(100=='1E2'); //100==100->真>

字符串在與數字進行比較之前會自動轉換為數字,因此0=='a'。

另外兩個字符串比較(如果兩者都是數字形式)同時轉換為數字以進行比較,因此'1'=='01'。

此時你必須要問,wordpress代碼是比較cookie的哈希值和哈希的真實哈希值,與此有什么關系?

讓我們注意上面的例子'10'=='1e1',php智能將一串科學記數法轉換為相應的數字(1e1=1 * 10 ^ 1=1)。兩個不同的角色實際上是相等的。我想知道你是否得到了啟示?

好的,來一個顯而易見的,你一定會意識到:

的var_dump( '0e123456789012345678901234567890'==='0')//falsevar_dump( '0e123456789012345678901234567890'=='0')//真

當散列顯示為'0exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'時,它等于'0'。

讓我們回到wordpress驗證碼。首先根據wp-config.php中的用戶名($ username),密碼($ pass_frag),cookie有效期($ expiration)和密鑰($ key)生成相應的$ hash(算法非常簡單,沒有解釋),然后比較cookie中獲得的$ hmac值($ hmac!=$ hash?)來驗證cookie的有效性。

另外提下,cookie的格式是這樣的:wordpress_hashofurl=username|expiration|hmac

我們可以控制的變量是$ username和$ expiration,其中$ username需要修復。所以我們可以通過控制cookie中的$ expiration來更改$ hash的值,然后將cookie中的$ hmac設置為0

只要$ expiration不斷更改,直到滿足$ hash=='0'的$ hash出現,就會成功偽造有效的cookie。

當然,粗略的數學概率運算可以推斷出滿足條件的概率非常低。

P=總和(10 ^ N,N-=0,30)/16^32=3.26526*10^-9

有近3億個請求有可能遇到,嗚嗚?

有時看著角色,角色非常好,角色不如我,差不多有5億:

怎么樣,少年,寫一個多線程腳本跑起?

影響范圍

影響大量網站,包括登錄驗證,“忘記密碼”,二進制檢查,cookie等,因為它們都使用PHP中的哈希函數值比較,因此存在隱患。

解決方案

使用PHP分析網站中的哈希比較函數,并分別將“==”,“!=”更改為“===”和“!===”。

網站建設,小程序開發,小程序制作,微信小程序開發,公眾號開發,微信公眾號開發,網頁設計,網站優化,網站排名,網站設計,微信小程序設計,小程序定制,微信小程序定制

相關案例查看更多

主站蜘蛛池模板: 久久久久亚洲av无码专区首 | 又爽又高潮日本少妇A片 | 成年人在线免费看片 | 美女把尿口扒开让男人桶爽免费看 | 草莓AV福利网站导航 | 欧美大片免费影院在线观看 | 国产成人AV大片大片在线播放 | 欧美69xxxxx | 国产传媒一级片 | 三年中文在线观看免费国语第五集 | 久久国产亚洲 | 国产一区二区不卡视频 | 欧美成年网站色a | www.国产x| 6080YYY午夜理论片无码 | 福利视频一区 | 国产字幕在线看 | 第一福利初水视频导航 | 伊人久久大香线蕉AV波多野结衣 | 丰满少妇被猛男猛烈进入久久 | 国产乱子伦XXXX| 日批视频免费看 | 上海少妇高潮狂叫喷水了 | 日本韩国三级aⅴ在线观看 99re这里只有精品首页 | 亚洲AV无码乱码在线观看四虎 | 在线观看潮喷失禁大喷水无码 | 日本熟妇HDSEX视频 | 亚洲第一视频区 | 日本50岁丰满熟妇xxxx | 99精品亚洲国产精品久久不卡 | 国产三级精品久线在线观看 | 婷婷开心深爱五月天播播 | 免费人成视频在线播放视频 | 熟女人妻少妇精品视频 | 国产熟妇高潮呻吟喷水 | 亚洲精品无码av人在线观看国产 | 变态 另类 欧美 大码 日韩 | 成人免费看WWW网址入口 | 国产色情一区二区视频 | 在线播放国产一区二区三区 | av一区二区三区免费观看 |