咪免直播高品质美女在线视频互动社区_咪免直播官方版_咪免直播直播视频在线观看免费版下载

您的位置:首頁(yè) > 軟件教程 > 教程 > 深入探討堆溢出漏洞及利用

深入探討堆溢出漏洞及利用

來源:好特整理 | 時(shí)間:2024-05-19 15:48:21 | 閱讀:197 |  標(biāo)簽: 漏洞   | 分享到:

💧對(duì)于堆溢出,有很多漏洞可以和它打配合,可以說是堆里面很常見的漏洞,常見的有off_by_null,House系列(后續(xù)學(xué)習(xí)到了會(huì)繼續(xù)更新這個(gè)系列),unlink,等等。 今天來看一個(gè),堆溢出修改指針,導(dǎo)致libc泄露以及通過指針來修改got表的題目。 題目連接我放下面了,對(duì)堆有興趣

?堆溢出漏洞是一種常見的漏洞,存在多種配合漏洞,如off_by_null、House系列、unlink等。本文將探討堆溢出修改指針,導(dǎo)致libc泄露以及通過指針來修改got表的題目。

題目鏈接?: https://pan.baidu.com/s/1_j2gw22PQHK-PiC8HUcVvg?pwd=d2wt
提取碼:d2wt

本題目為32位,got表可以修改。在堆題目中,保護(hù)全開的情況很常見,需要關(guān)注保護(hù)措施。若got表可以修改,可嘗試修改free或malloc的got表。若無法修改got表,可以考慮__free_hook和__malloc_hook。

32位ida靜態(tài)分析顯示有一些功能函數(shù),其中add函數(shù)申請(qǐng)了兩個(gè)chunk,第一個(gè)大小為輸入的值,第二個(gè)為固定的0x80大小。輸入的name保存到了第二個(gè)chunk,同時(shí)將第一個(gè)chunk的指針放到了第二個(gè)chunk的數(shù)據(jù)里。

update函數(shù)對(duì)輸入的chunk的判斷依據(jù)大小是name chunk和輸入數(shù)據(jù)chunk之間的距離,若先申請(qǐng)一些chunk將它們隔開,則可實(shí)現(xiàn)較大的堆溢出。

delete函數(shù)將chunk1和chunk2都進(jìn)行了釋放。

show函數(shù)可以進(jìn)行name和text的打印。

?思路:申請(qǐng)chunk時(shí)首先到bin里查找,若無則從Topchunk切割一塊。若申請(qǐng)的大小超過0x20000,則不是mmap分配。釋放時(shí)若兩塊chunk物理相鄰,則會(huì)合并。通過申請(qǐng)和釋放chunk,可以實(shí)現(xiàn)堆溢出。

指針修改之前:

修改之后:

chunk1的指針換成了free_got表地址,打印chunk1時(shí)可進(jìn)行泄露,之后修改chunk1即可修改free_got表為system,最后釋放chunk2(/bin/sh)即可獲得shell。

exp:

;丶铱纯聪盗谐掷m(xù)更新..........

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)