通過給的libc文件泄露地址

libc中的函數(shù)相對于libc的基地址的偏移都是確定的,如果有一道題給你了libc的文件,就可以通過libc文件泄露出system函數(shù)和binsh的地址,然后再構(gòu)造payload。

一般通過write()函數(shù)泄露 ,通過ELF獲得write函數(shù)在got表和plt表中的地址

同時獲得程序start地址 構(gòu)造payload?

payload 一般是填充字符(棧的大?。? ‘a(chǎn)aaa’(覆蓋EBP)+? p32(write_plt) + p32(start)(返回地址) + p32(1)+ p32(write_got)+p32(4)

后面三個是write函數(shù)的參數(shù) write(1,'write_got',4) 4代表輸出4個字節(jié),write_got則為要泄露的地址

binsh在libc中的地址可以直接搜索得到 binsh_libc = libc.search('/bin/sh').next()

其中地址計算如:

libc_base = leak_add - leak_libc(函數(shù)在libc中的偏移)

system_add? = libc_base + system_libc

binsh_add = libc_base + binsh_libc

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • GOT表和PLT表: GOT(Global Offset Table,全局偏移表)是Linux ELF文件中用于定...
    xiaobaozi閱讀 9,528評論 0 13
  • 一、溫故而知新 1. 內(nèi)存不夠怎么辦 內(nèi)存簡單分配策略的問題地址空間不隔離內(nèi)存使用效率低程序運行的地址不確定 關(guān)于...
    SeanCST閱讀 8,118評論 0 27
  • 0x00漏洞簡介 uaf漏洞產(chǎn)生的主要原因是釋放了一個堆塊后,并沒有將該指針置為NULL,這樣導(dǎo)致該指針處于懸空的...
    BJChangAn閱讀 1,223評論 0 0
  • 大概在七月份,我的手機(jī)崩潰了,崩潰到修理費都能再買一個同款的地步。 果斷選擇了換機(jī),然而選哪款是個問題,之前一直在...
    路人張三閱讀 199評論 0 0
  • 要勇于下筆,畫不好咱再來!(? ??_??)? 我以為我用的水彩,結(jié)果是水粉!友友說沒透明度,下次重新...
    清歌淺笑閱讀 260評論 0 4

友情鏈接更多精彩內(nèi)容