-3
我已經在很多地方看過,字符串緩衝區溢出會導致添加惡意代碼或者很容易被黑客攻擊。但字符串駐留在BSS部分以及它如何影響代碼部分。字符串緩衝區如何導致運行惡意代碼?
其次,即使字符串不超限,仍然可以通過十六進制編輯器看到,所以它們不能同樣危險嗎?
謝謝。
我已經在很多地方看過,字符串緩衝區溢出會導致添加惡意代碼或者很容易被黑客攻擊。但字符串駐留在BSS部分以及它如何影響代碼部分。字符串緩衝區如何導致運行惡意代碼?
其次,即使字符串不超限,仍然可以通過十六進制編輯器看到,所以它們不能同樣危險嗎?
謝謝。
buffer overflow可能出現在堆棧分配的字符串上(例如未經檢查的本地char buf[12]
陣列上的strcat
調用)。這就是爲什麼sprintf
已經過時,你應該始終使用snprintf
它可以通過惡意代碼和malware,例如是exploitedshellcode
不要試圖製造一些這樣的惡意代碼:一個青少年在上個世紀被黑客入侵併利用sendmail
監獄。
順便說一句,緩衝區溢出堆內部也可以給很多麻煩,通過破壞無關的數據。