60$
10 years ago
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了