最近某安全公司發(fā)現(xiàn)的glibc gethostbyname buffer overflow漏洞,該漏洞被命名為ghost,其原因是glibc的Gethostbyname函數(shù)在處理傳入的畸形域名信息作解析時(shí)導(dǎo)致堆溢出,眾多網(wǎng)絡(luò)應(yīng)用依賴glibc模塊的將受到影響,現(xiàn)已經(jīng)確認(rèn)受影響的版本是glibc 2.2<=version<=2.17,但是在我們的安全研究人員在測(cè)試時(shí)觸發(fā)了另一個(gè)有意思的格式串漏洞,讓我們來(lái)看看具體過(guò)程。
測(cè)試環(huán)境ubuntu glibc 2.12 python 2.6.6
當(dāng)我們的研究人員在執(zhí)行python如下代碼時(shí)發(fā)現(xiàn)程序崩潰
1
2
|
importsocket
socket.gethostbyname('0'*10000000)
|
讓我們看看漏洞觸發(fā)流程,上gdb看看
通過(guò)查看異常信息點(diǎn)發(fā)現(xiàn),異常發(fā)生在如下代碼處
在memcpy函數(shù)進(jìn)行內(nèi)存拷貝時(shí)出錯(cuò)
通過(guò)分析發(fā)現(xiàn),rdx是拷貝長(zhǎng)度,rsi是源緩沖區(qū),rdi是目的緩沖區(qū),通過(guò)分析發(fā)現(xiàn)rsi是我們傳入的數(shù)據(jù),而rdi這個(gè)地址不能訪問(wèn),所以memcpy函數(shù)進(jìn)行拷貝操作時(shí)將會(huì)出現(xiàn)寫入目的地址空間失敗,通過(guò)分析發(fā)現(xiàn)這個(gè)地址未初始化,最終導(dǎo)致程序crash.
我們通過(guò)分析發(fā)現(xiàn)python語(yǔ)句
1
2
|
Import socket
Socket.gethostbyname(‘0’*10000000)
|
將會(huì)調(diào)用sscanf格式轉(zhuǎn)換字符串’0’*10000000成整形數(shù)據(jù)“%d.%d.%d.%d”,我們通過(guò)分析glibc里面的源代碼stdio-common/vfscanf.c發(fā)現(xiàn),將會(huì)如下處理
關(guān)鍵問(wèn)題發(fā)生在宏ADDW,如下代碼是glibc 2.12
這里代碼的作用是把我們傳入的字串循環(huán)拷貝到棧上面去,alloca函數(shù)是開辟?臻g,我們知道默認(rèn)情況下Linux的?臻g是8MB,當(dāng)我們傳入的參數(shù)超長(zhǎng)時(shí),會(huì)導(dǎo)致棧空間耗盡,導(dǎo)致內(nèi)存寫上溢,當(dāng)我們寫入不可預(yù)知的未映射的內(nèi)存時(shí)導(dǎo)致程序崩潰. 通過(guò)搜索發(fā)現(xiàn)這個(gè)格式串漏洞在2.15版被修復(fù)
補(bǔ)丁代碼如下:
補(bǔ)丁代碼的處理邏輯是把傳入的數(shù)據(jù)復(fù)制到堆內(nèi)存里面去而不是在?臻g里面。
該格式串漏洞很難利用,拷貝到的目的地址不可預(yù)測(cè)并且很難控制。
該漏洞會(huì)造成遠(yuǎn)程crash,趕緊升級(jí)glibc吧。
感謝阿里安全研究團(tuán)隊(duì)和漏洞分析團(tuán)隊(duì)的努力
國(guó)產(chǎn)工具PKAV HTTP Fuzzer滲透測(cè)試助手最新發(fā)布
閱讀FireEye:11.2%的移動(dòng)APP仍存在FREAK漏洞
閱讀惠普漏洞:惠普ArcSight企業(yè)安全系列產(chǎn)品曝高危安全漏洞
閱讀騰訊、360各顯神通,分別秒殺IE、Flash、PDF項(xiàng)目
閱讀蘋果Mac OS X系統(tǒng)被發(fā)現(xiàn)存在DLL劫持漏洞
閱讀金融行業(yè)平臺(tái)的針對(duì)性防御滲透測(cè)試
閱讀D-Link(友訊)路由器曝遠(yuǎn)程文件上傳及命令注入漏洞(已發(fā)布安全更新)
閱讀Win10將使用P2P進(jìn)行系統(tǒng)更新,引發(fā)安全擔(dān)憂
閱讀美國(guó)最大的無(wú)卡ATM網(wǎng)絡(luò)即將推出,從此告別刷卡!
閱讀谷歌應(yīng)用漏洞泄漏超過(guò)28萬(wàn)條私人WHOIS數(shù)據(jù)
閱讀使命召喚、魔獸世界、英雄聯(lián)盟……專攻游戲的勒索軟件TeslaCrypt
閱讀本站所有軟件,都由網(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)