2012-07-30 58 views
0

在下面的幾行,我會解釋說,我擔心的伎倆,併爲我的確切問題的解釋避免假服務器響應

絕招: 過去,我用來破解程序使用僞造的服務器響應

  1. 環回程序(客戶端)到我的電腦
  2. 真實服務器
  3. 創建嗅探登錄成功的數據包的連接假的服務器(偵聽器),聽從客戶端的連接,併發回假迴應(我嗅了一下)

但它沒有很多時間,因爲他們改變了一些東西,我的伎倆不再工作了

(每次我嘗試把一些嗅到登錄包客戶端崩潰,不再接受假的服務器響應)


問題: 現在我創造我自己的客戶端服務器COMMUNICA我想防止我的客戶被欺騙的假服務器響應技巧欺騙(任何人都可以用任何用戶名和密碼登錄),並提供最好的安全性從竊聽者

(如何確保這個數據包來自我的服務器而不是從剛剛發送的嗅探登錄成功包來欺騙我的客戶和登錄) 其他假冒服務器(以另一種方式如何防止客戶上當受騙,但假的服務器(模擬器))

注:我的意思是通過防止不使它100%安全,因爲一切都可以破解,但爲了避免這種破壞整個項目的愚蠢的東西


我希望我沒有去離點,但我只是想解釋每一個點清楚

回答

0

如果我明白你可能去的,使用TLS是給信心的一種方便的方法客戶端連接到正確的聚會。

通過根據本地根信任證書或對等信任證書驗證服務器的證書,可以驗證服務器的證書是由「受信任的」第三方發出的,並且所連接的主機名是預定方。如果這種驗證失敗,則可以阻止與服務器的通信。

當然,這隻有在客戶沒有完全受到損害時纔有用。

以下可能你有點幫助:

Understanding Authentication
Transport Layer Security

如果設置正確,SSL可以走很長的路,以確保客戶端連接到正確的服務器。它與用於確保您將登錄信息提交給stackoverflow或gmail或大多數其他任何網站的技術相同。服務器將把它的證書發送給客戶端。客戶將獲得該證書並使用一些數學魔術來確保它是由機器可信存儲中的一個證書頒發的。嵌入在該證書中的是主機名。如果主機名與客戶端連接的主機名相匹配,並且證書由可信存儲中的證書頒發,則將建立連接。由於您信任可信存儲中的實體以瞭解他們向誰頒發證書,因此服務器證書不能僞造。但是,如果客戶端運行的計算機完全受到損害,他們可以將自己的可信證書安裝到他信任的商店中,從而允許他們假裝成從受感染計算機連接到客戶端的服務器。在這種情況下反編譯源碼不會讓攻擊者僞裝成服務器。您利用SSL的最簡單方法是讓您的服務器作爲Web服務運行。我確信有可能實現TLS的庫也在那裏。

+0

因此,使用SSL可以保證我的客戶端連接到我的服務器,而不是連接到任何其他假服務器。你的意思是妥協的意思是說我的客戶已經被反彙編或者是這樣? ..你也明白我需要什麼,所以你可以給我更多的參考資料,我怎麼能在我的項目上實現SSL。另外據我瞭解,服務器發送一個包含我的域名的認證,並且不能作爲一個虛假的認證! – 2012-07-30 17:37:55

+0

如果設置正確,SSL可以確保客戶端連接到正確的服務器。其相同的技術,以確保您提交您的登錄信息到stackoverflow或Gmail或大多數紐約其他網站 – 2012-07-30 23:22:50

+0

所以它的SSL解決我的問題 – 2012-07-30 23:32:30