過去,我已經爲用戶級進程完成了緩衝區溢出攻擊。但是,如果我嘗試溢出易受攻擊的內核模塊的緩衝區,這似乎不起作用。以下是我所做的:緩衝區溢出攻擊不適用於內核模塊
有一個易受攻擊的內核模塊,我可以打開它作爲文件讀取/寫入它。寫入操作沒有邊界檢查。所以我做了寫操作並溢出了緩衝區,並將返回地址覆蓋爲具有我的shellcode的環境變量的地址。但有些事情出錯了。內核崩潰,重新啓動後,我打開/ var/log/messages,發現eip正確指向我重寫的地址。但它仍然崩潰,說「無法處理虛擬地址處的內核空指針取消引用」 任何原因爲什麼會發生?爲什麼控件不能重定向到覆蓋的返回地址?
注意:我在redhat企業版linux上運行了exec-shield並關閉了ASLR。
可能更適合security.stackexchange.com – bstpierre
@bstpierre不知道它..謝謝! –