向一個有限空間的緩衝區中植入選長的字串可能會出現兩個結果:
一是過長的字串覆蓋了相鄰的儲存單元,引起程式執行失敗。嚴重的可導致系統崩潰;
二是利用這種漏洞可以執行任意指令,甚至可以取得系統root特級許可權。
大多造成緩衝區溢位的原因是程式中沒有仔細檢查使用者輸入引數而造成的。
援衝區是程式執行的時候機器記憶體中的一個連續塊,它儲存了給定型別的資料,隨著動態分配變數會出現問題。大多時為了不佔用太多的記憶體。一個有動態分配變數的程式在程式執行時才決定給它們分配多少記憶體。這樣想下去的話,如果說要給程式在動態分配緩衝區放入超長的資料。它就會溢位了。一個緩衝區溢位程式使用這個溢位的資料將組合語言程式碼放到機器的記憶體裡,通常是產生root許可權的地方,這就不是什麼好現象了。僅僅就單個的緩衝區溢位惹眼,它並不是最大的問題根本所在。但如果溢位送到能夠以root許可權執行命令的區域,一旦執行這些命令,那可就等於把機器拱手相讓了。
緩衝區溢位漏洞可以使任何一個有駭客技術的人取得機器的控制權甚至是最高許可權。一般利用緩衝區溢位漏洞攻擊root程式,大都透過執行類似“exec(sh)執行程式碼來獲得root的shell。
沈柔正式透過這個方式來完成入侵,她在程式的地址空間裡安排適當的程式碼和透過適當的初始化暫存器和儲存器,讓程式跳轉到安排好的地址空間執行。
在沈柔大肆進行破壞的同時,許毅也沒有閒著。相對於沈柔大張旗鼓的破壞。他的入侵就顯得實在太安靜了。
許毅很順利地找到了俄方負責資訊交換的主要伺服器,然後利用一個僅僅他自己知�