- 相關推薦
簡單的網絡工程師專業(yè)面試試題
一、介紹一下MD5加密算法
MD5算法是一種非常優(yōu)秀的加密算法。
MD5加密算法特點:靈活性、不可恢復性。
介紹MD5加密算法基本情況MD5的全稱是Message-Digest Algorithm 5,在90年代初由MIT的計算機科學實驗室和RSA Data Security Inc發(fā)明,經MD2、MD3和MD4發(fā)展而來。
Message-Digest泛指字節(jié)串(Message)的Hash變換,就是把一個任意長度的字節(jié)串變換成一定長的大整數(shù)。請注意我使用了”字節(jié)串”而不是”字符串”這個詞,是因為這種變換只與字節(jié)的值有關,與字符集或編碼方式無關。
MD5將任意長度的”字節(jié)串”變換成一個128bit的大整數(shù),并且它是一個不可逆的字符串變換算法,換句話說就是,即使你看到源程序和算法描述,也無法將一個MD5的值變換回原始的字符串,從數(shù)學原理上說,是因為原始的字符串有無窮多個,這有點象不存在反函數(shù)的數(shù)學函數(shù)。
MD5的典型應用是對一段Message(字節(jié)串)產生fingerprint(指紋),以防止被”篡改”。舉個例子,你將一段話寫在一個叫 readme.txt文件中,并對這個readme.txt產生一個MD5的值并記錄在案,然后你可以傳播這個文件給別人,別人如果修改了文件中的任何內容,你對這個文件重新計算MD5時就會發(fā)現(xiàn)。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的”抵賴”,這就是所謂的數(shù)字簽名應用。
MD5還廣泛用于加密和解密技術上,在很多操作系統(tǒng)中,用戶的密碼是以MD5值(或類似的其它算法)的方式保存的,用戶Login的時候,系統(tǒng)是把用戶輸入的密碼計算成MD5值,然后再去和系統(tǒng)中保存的MD5值進行比較,而系統(tǒng)并不”知道”用戶的密碼是什么。
一些黑客破獲這種密碼的方法是一種被稱為”跑字典”的方法。有兩種方法得到字典,一種是日常搜集的用做密碼的字符串表,另一種是用排列組合方法生成的,先用MD5程序計算出這些字典項的MD5值,然后再用目標的MD5值在這個字典中檢索。
即使假設密碼的最大長度為8,同時密碼只能是字母和數(shù)字,共26+26+10=62個字符,排列組合出的字典的項數(shù)則是 P(62,1)+P(62,2)….+P(62,8),那也已經是一個很天文的數(shù)字了,存儲這個字典就需要TB級的磁盤組,而且這種方法還有一個前提,就是能獲得目標賬戶的密碼MD5值的情況下才可以。
在很多電子商務和社區(qū)應用中,管理用戶的Account是一種最常用的基本功能,盡管很多Application Server提供了這些基本組件,但很多應用開發(fā)者為了管理的更大的靈活性還是喜歡采用關系數(shù)據庫來管理用戶,懶惰的做法是用戶的密碼往往使用明文或簡單的變換后直接保存在數(shù)據庫中,因此這些用戶的密碼對軟件開發(fā)者或系統(tǒng)管理員來說可以說毫無保密可言,本文的目的是介紹MD5的Java Bean的實現(xiàn),同時給出用MD5來處理用戶的Account密碼的例子,這種方法使得管理員和程序設計者都無法看到用戶的密碼,盡管他們可以初始化它們。但重要的一點是對于用戶密碼設置習慣的保護。
二、介紹一下常見的木馬種類
目前常見的木馬有三種:正向連接木馬、反彈連接木馬、收信木馬。
正向連接木馬,所謂正向,就是在中馬者在機器上開個端口,而我們去連接他的端口。而我們要知道他的IP,才能夠連接他。123就是他機器上開的端口。
由于到現(xiàn)在,寬帶上網(動態(tài)IP)和路由器的普遍,這個軟件就有很大的不足。
動態(tài)IP:每次撥號,IP都會跟換.所以,就算對方中了木馬,在下次撥號的時候,我們會因為找不到IP而丟肉雞。
路由器:就是多個電腦同用1條寬帶(網吧上網就是最好的例子)他們通過路由器連接到寬帶,例如:主機的IP為225.124.3.41,而內網(就是用路由器的機器)的IP為192.168.X.X。在內網環(huán)境下,我們外界是無法訪問的,就是機器中了木馬也沒用。下面大家看下我的示意圖。簡單來說,內網的機器是比較安全的,外界是無法訪問的,就是我們連接不了內網器。而連接內網的機器,除非在同區(qū)域網里(在網吧A機,就能用RIDMIN連接網吧的B 機).
簡單總結:在不同區(qū)域網下,正向木馬只能連接到外網的機器,而不能連接到內網的機器。
由于一系列的不足,就產生了反彈連接木馬,例如出門的國產軟件:灰鴿子
反彈連接木馬,就是在我們機器上開啟一個端口,讓中馬者來連接我們,從而獲得肉雞的信息,就算對方的IP怎么改變,也是無際于事。如果我們自己機器上的IP改變了,肉雞就無法找到我們的機器,從而無法獲得肉雞的信息,不過這點是不成問題的,WWW興起,就有了域名。在網絡中通過的對域名的訪問能找到自己對應的IP地址,例如www.baidu.com的IP地址為22.181.38.4 如果百度的IP變成12.11.22.3的話,只要域名不改變,就算IP地址怎么變,它也能找到你。就算是內網的機器,我們也能獲得他的信息。
總結到底:本地開啟1個端口,肉雞連接上我們,就算是內外網的機器也可以。
反彈連接木馬最頭疼的地方就是使用者是內網狀態(tài)的(大家可以看我的路線圖,藍色為反彈連接,黑色為正常連接)。說到為什么最頭疼,大家就回憶下正向連接木馬的原理。別人是無法直接訪問路由器內的機器(內網)。
【簡單的網絡工程師專業(yè)面試試題】相關文章:
網絡工程師面試試題09-25
應聘網絡編輯面試試題09-25
網絡工程師筆試試題08-07
java工程師面試題09-25
Python工程師面試試題09-26
SOA專業(yè)面試試題02-07
Ruby專業(yè)面試試題08-04
Python專業(yè)面試試題09-26
上海網絡系統(tǒng)工程師試題08-04
軟件工程師面試試題09-26