- 論壇徽章:
- 39
|
1、請闡述漏洞與bug的區(qū)別?
個人覺得漏洞和bug還是有挺大區(qū)別的.漏洞不一定是bug,放過來,bug也不一定會成為漏洞.為什么這么說呢,漏洞,是被利用的程序處理異常,或一些羅輯處理,bug只是其中的一種---程序異常.很多羅輯不嚴(yán)謹(jǐn),并不一定就是bug,當(dāng)然從廣義上來說,當(dāng)然可以歸到bug里.比如設(shè)計(jì)問題,程序是按設(shè)計(jì)來編寫的,設(shè)計(jì)中的羅輯引發(fā)的漏洞,并不能算是程序的bug,要?dú)w到bug也要?dú)w到設(shè)計(jì)的bug里,這里就有了一個bug的歸屬問題.而bug并不一定就能成為漏洞,比如顯示的bug,只是顯示偏移錯誤,影響到視覺效果的bug,常常不能成為可以利用的bug,也就是漏洞了.
2、常見的linux rootkit對自身隱藏方法,及列出你所知道的rootkit后門?
偽裝成系統(tǒng)命令,或系統(tǒng)服務(wù)是常見的手法.不容易被查出,還不敢隨意處理.
linux下的rootkit后門不太清楚,windows下有發(fā)現(xiàn)過一些蠕蟲病毒,遠(yuǎn)程控制木馬利用rootkit的例子
3、端口復(fù)用的理解,以及哪些常見惡意軟件會使用該技術(shù)?
我的理解就是多個進(jìn)程使用同一個端口.最常見的應(yīng)該是遠(yuǎn)程控制類木馬,這類木馬需要長期聯(lián)網(wǎng)同服務(wù)端通信,為了偽裝,會找一些可以復(fù)用端口的進(jìn)程注入.
4、請簡述你對sql注入的理解?
sql注入危害挺大的,這個主要是編碼的時候?qū)ql傳遞的參數(shù)沒有檢查,或檢查不嚴(yán)導(dǎo)致的.常見的是查詢sql,利用sql中的分隔符和注釋符,原本是拼接參數(shù)成一個完整的查詢語句,結(jié)果參數(shù)是被有意構(gòu)造過的,拼接之后成了 多條查詢,或已經(jīng)完全偏離本意的查詢語句了.
比如(Mysql): String sql = "select * from a where id = " + id;
本身id可能就是一個整形字符串,如果把id改成`1; show database;`如果沒對id做任何檢查就拼接去查詢的話,結(jié)果不光查詢了id=1的結(jié)構(gòu),還把當(dāng)前用戶可以查詢的數(shù)據(jù)庫全部顯示出來了.危害還是及其厲害的.
5、請簡述緩沖區(qū)溢出原理?
就是對內(nèi)存操作沒有做邊界檢查,引發(fā)內(nèi)存違規(guī)寫入的bug.這個危害也挺大的,但是要利用挺復(fù)雜的.需要對內(nèi)存,匯編都要非常熟悉.
因?yàn)閮?nèi)存違規(guī)寫入,并不一定已發(fā)程序崩潰,程序還會繼續(xù)執(zhí)行,如果執(zhí)行到這塊覆寫的內(nèi)存上,剛好是被精心構(gòu)造好的代碼快,就可以達(dá)到利用者的目的. |
|