0
我讀了關於緩衝區溢出攻擊,想知道如果改變處理器,所以它拒絕執行不在代碼區域的指令可以解決它? 謝謝如何克服緩衝區溢出攻擊?
我讀了關於緩衝區溢出攻擊,想知道如果改變處理器,所以它拒絕執行不在代碼區域的指令可以解決它? 謝謝如何克服緩衝區溢出攻擊?
這通常是通過在現代CPU中設置內存頁或段(例如堆棧)上的no-execute位來完成的。它有助於防止一些基於堆棧的溢出,但不是一種100%的防傻瓜治療。
值得注意的是,這隻會阻止注入堆棧的代碼被執行。例如,由於緩衝區溢出可以重寫返回指針,系統仍然容易受到[返回到libc攻擊](http://en.wikipedia.org/wiki/Return-to-libc_attack)的影響。 –
Nah。只需friggin'檢查你的數組。 'snprintf()','fgets()'等和'sizeof'是你的朋友。 – 2013-06-19 21:46:38
@userXXX如果你真的**不讓任何東西超過它應該去的時間,那麼即使沒有寫XOR執行技巧,你也是非常有序的(所有理智的操作系統都會**,反正**包括OS X和Linux,但當然不是Windows ...) – 2013-06-19 21:51:33