Login
Sign Up For Free
English
中文 (繁體)
中文 (香港)
中文 (简体)
日本語
Filipino
Bahasa Indonesia
Bahasa Melayu
Pусский
Português (Brasil)
Magyar
Français
Español
Deutsch
Čeština
العربية
Català
Dansk
Ελληνικά
فارسی
Suomi
Gaeilge
Hindi
עברית
Hrvatski
Italiano
Norsk bokmål
Nederlands
한국어
Polski
Română
Slovenský
Svenska
Türkçe
українська
беларуская
ไทย
Standard view
60$
10 years ago
http://imgs.xkcd.com/comics/heartbleed_explanation.png
Heartbleed explanation by xkcd
janec
10 years ago
還是有點不懂耶,為什麼第三次它就會乖乖回傳500 letters?
wanderingdays
10 years ago
很粗心的錯誤,
這裡
有把code拿來解釋。問題在於相信對方宣告的payload長度就隨便echo。dev和qa都應該各打五十大板,跑個codenomicon應該就要發現的...
60$
說
10 years ago
imccc
: 就像wanderingdays說的一樣,在call的時候同時有告訴server兩件事情,一個是要他回傳的字串,另一個是長度。Server會找記憶體裡面一段和宣告長度一樣長的空間,把字串放進去,然後把整個空間裡面的東西回傳。所以如果宣告的長度比實際字串大,就可以拿到記憶體裡面其他的東西
立即下載
60$
說
10 years ago
imccc
: 短版的答案就是"HAT"並沒有500個letter,但是server因為沒有檢查,就還是傻傻相信真的回傳500個letter,包含HAT和497個本來存在記憶體裡面的letter了
delete
reply
edit
cancel
cancel