2012-06-01 30 views

回答

3

通常情況下,最大長度(3'rd)參數strncpy(3)會目的地的大小,而不是源的大小。將轉移限制在源的大小上確實沒有意義,因爲這是使用更危險的明文strcpy(3)轉移的最大值。

而且,爲了回答這個問題,問題在於這不是memory-safe operation,所以攻擊者可以提供一個比緩衝區長的字符串,它會覆蓋堆棧中的代碼,並且如果仔細安排,可以執行任意代碼攻擊者。

相關問題