提問者:頭像不好看了 2020-10-15
他怎么防止緩沖區(qū)溢出的?假如說,我地址跳轉(zhuǎn)或者覆蓋成了另一個函數(shù),獲取到了shell,這個cookie還有用嗎?還是說這個cannery保護(hù)是保護(hù)什么的?
群里回復(fù)您了,我把另一個同學(xué)的解釋發(fā)給你:這個是塞在返回地址前的,相當(dāng)于守衛(wèi),只允許一種人過,就是自己人,要想越過門衛(wèi)進(jìn)入城內(nèi),就必須先偽造成自己人,才能進(jìn)去。這個保護(hù)是針對變量的,當(dāng)有寫入變量的時候這個保護(hù)才有用。只有允許你寫數(shù)據(jù)的時候,這個保護(hù)才開啟。為了防止你過多的寫數(shù)據(jù),覆蓋它的返回地址。它在返回地址前面的4(32位)字節(jié)里面填入隨機(jī)數(shù)據(jù),會在你向里面寫時候,并且你已經(jīng)寫完的時候檢查。如果你數(shù)據(jù)寫過了,或者已經(jīng)寫到返回地址處了,這個隨機(jī)數(shù)就不正確,程序就會直接宕機(jī)報錯崩潰