SSP(Stack Smashes Protect) leak
1.利用的是_stack_chk_fail中的fortify的報(bào)錯泄露信息稽亏,在棧溢出的時候數(shù)組月結(jié)寫入,導(dǎo)致Canary值被修改,在函數(shù)退出的時候檢查canary呕臂,發(fā)現(xiàn)canary被修改,函數(shù)不能安全返回肪跋,call到stack_chk_fail打印argv[0]這個指針指向的字符串歧蒋,默認(rèn)是程序的名字。
2.如果我們把它覆蓋為flag的地址時州既,它就會把flag給打印出來
3.注意不要用原來flag的地址覆蓋谜洽,因?yàn)樵瓉泶鎯lag的地址會被overwrite,但是由于ELF的映射方式吴叶,此flag會被映射兩次阐虚,另一個地方的flag的內(nèi)容不會變,原因是stack_chk_fail會調(diào)用libc_message
4.主動觸發(fā)棧保護(hù)蚌卤,知道覆蓋到argv[0]的值敌呈,實(shí)現(xiàn)任意內(nèi)存讀取。