2011-12-05 75 views
2

,這可能是一個愚蠢的問題...嗅探HTTPS流量從客戶端程序

我寫了與捲曲庫的幫助下通過HTTPS Web服務通信的C++客戶端程序。

我想知道如果使用客戶端的人可以清楚地看到使用一些嗅探程序從他的電腦發起的流量?

或者他會看到加密的數據?

謝謝!

回答

4

使用像netcat這樣的工具來嗅探電線上的數據,用戶只會看到加密的數據。查看原始數據的唯一方法是在將應用程序傳遞到cURL之前將其記錄到應用程序中,或者在計算機的活動RAM中找到原始數據(由於它可能會被碎片化,所以難度更大)。

1

他會看到加密的數據。嗅探器只能看到數據包,所以如果HTTPS正常工作,數據包應該被加密,這就是所有程序都能看到的。

如果您想自己嘗試,請了解ettercap-ng。

2

如果您的應用程序檢查有效的證書,則不適用。

如果您的用戶有能力與您的應用程序一起使用代理服務器,他們可以使用fiddler的解密https會話功能來執行此操作,但會導致無效的證書,以防止它在檢測到時無法正常工作。

+0

我是一種新的安全性等...我的網絡服務是一個Google App Engine應用程序,你會有任何關於如何「檢查有效證書」的指針?謝謝你的時間! – ibiza

+0

cURL(至少使用命令行)自動檢查以確保證書由可信認證中心(CA)頒發。 – sarumont

+0

好吧,所以默認情況下,我會檢查有效的證書,而我甚至不知道?酷:) – ibiza

0

SSL/TLS協議通常在應用程序層實現,因此數據在發送之前被加密。

+0

TLS代表傳輸層安全性,而不是應用層。 – rook

+0

@Rook - 你是正確的縮寫,但不是你的結論。 –

+0

結論是,機器上的某個人總是能夠嗅探流量。故事結束。 – rook

1

我懷疑,一般用戶將能夠做到這一點......

但有辦法做到這一點,如:

  • 與代理更換捲曲庫(如果動態鏈接)
  • 一個調試器下運行您的程序,並放置在捲曲功能
  • 與代理更換捲曲程序斷點(如果你使用它作爲一個命令行工具)
  • 深挖洞和diessecting內存在運行時

從我的POV這是不可能的(因爲你需要一些技能+知識+在客戶環境中的某些控制實現自己的目標),但有可能...

+0

謝謝,如果用戶設法做到這一點,他應該看到數據lol:p它不是那麼關鍵,所以阻止普通用戶就夠了。 – ibiza

+0

@ibiza很高興看到:-)如果需要的話,防禦措施可能會非常麻煩...... – Yahia

0

如果用戶有權訪問用於加密/解密數據的證書密鑰,那麼他/她可以將它們插入WireShark,然後它可以解除連線上的嗅探HTTPS數據包。