ret2dlresolve归纳
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                ret2dlresolve归纳
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                ret2dl_resolve的原理:
動態鏈接相關函數_dl_runtime_resolve(link_map_obj, reloc_index)
 功能:在第一次調用某函數時運行,綁定其地址到對應的GOT表項
 第一個參數link_map_obj一直為GOT[1]的地址
 第二個參數reloc_index為被綁定函數在.rel.plt段里的相對偏移
 原理:
 1.調用_dl_runtime_resolve,修改reloc_index,令其指向偽造在棧里的重定向表表項
 2.- 偽造重定向表表項,修改第二項里符號表索引,令其指向偽造在棧內的符號表表項
 3.–偽造符號表表項,修改第一項(字符串表偏移),令其指向偽造在棧里的字符串(’ system’)
 4.令該函數的參數為寫入在棧里的’/bin/sh\x00’的地址,即可getshell
ret2dl_resolve的前提:
1.非Full RELRO -z lazy/norelro
 2.無PIE -no-pie
 3.能夠溢出 -fno-stack-protector
ret2dl-resole 是通過偽造到 .rel.plt , .dynsym, .dynstr里表項里的偏移以及偽造這三個段里的數據結構來達到調用system 函數的目的
 
總結
以上是生活随笔為你收集整理的ret2dlresolve归纳的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: break详细讲解啊
- 下一篇: C语言 指针数组 - C语言零基础入门教
