[英]If the stack is 'flipped' can you still execute shell code using a buffer overflow?
在這種情況下,堆棧從地址00000000開始並向下擴展。 數組訪問(char [6]在00002301和char [7]在00002302)。
ebp-> 00001904 .... esp-> 00002100(堆棧頂部在這里)
如果使用錯誤的輸入,你仍然可以執行緩沖區溢出,我的問題是:
- 你可以使用溢出的漏洞來執行一些shell代碼(來自輸入)。
在常規堆棧中,您可以覆蓋ebp以指向您的shell代碼,您是否仍然可以執行此操作,即堆棧被“翻轉”。
簡短回答:是的。
您還必須注意緩沖區下溢或其他可能修改任意內存的攻擊(例如從雙鏈表中釋放元素)。
你可以在O'Hallaron的書CSAPP中找到完美解決的這個問題。
這是簡要介紹:
如果你想試試這個,你可以查看ICS的Lab3,你可以很好地運用這個技術。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.