UAF(Use After Free)
uaf漏洞產生的主要原因是釋放了一個堆塊后,并沒有將該指針置為NULL,這樣導致該指針處于懸空的狀態,同樣被釋放的內存如果被惡意構造數據,就有可能會被利用。
- 內存塊被釋放后,其對應的指針被設置為 NULL , 然后再次使用,自然程序會崩潰。
- 內存塊被釋放后,其對應的指針沒有被設置為 NULL ,然后在它下一次被使用之前,沒有代碼對這塊內存塊進行修改,那么程序很有可能可以正常運轉。
- 內存塊被釋放后,其對應的指針沒有被設置為NULL,但是在它下一次使用之前,有代碼對這塊內存進行了修改,那么當程序再次使用這塊內存時,就很有可能會出現奇怪的問題。
參考