Fiddlercore攔截並修改HTTPS鏈接的網頁,實現JS注入


原始出處:https://www.cnblogs.com/Charltsing/p/FiddlerCoreHTTPS.html

Fiddlercore可以攔截和修改http的網頁內容,代碼在百度很多。

如果想用Fiddlercore攔截和修改Https的網頁,你會遇到私密連接的問題,導致Chrome無法打開網頁。如何解決這個問題呢?

Fiddlercore攔截Https的原理是自己創建一個Https的證書,重新對網站的鏈接數據進行加密傳輸,所以,我們要通過代碼創建一個https證書給Fiddlercore。

創建Https證書有兩種方式,一種是通過MakeCert.exe ,另一種是通過 CertMaker.dll及BCMakeCert.dll來創建。

在官網說明中,明確的說了兩點:

1、MakeCert.exe使用Windows API生成存儲在用戶的\Personal\Certificates存儲中的證書。這些證書與iOS設備不兼容,后者需要證書中未由MakeCert.exe設置的特定字段。
2、CertMaker.dll使用BouncyCastle C#庫(BCMakeCert.dll)從頭開始生成新證書。這些證書僅存儲在內存中,並與iOS設備兼容。

注意紅色字!!

我們 在Fiddlercore編程的時候,通常采用dll方式創建證書,創建后的證書放在內存中。所以,僅當程序第一次啟動的時候,我們才需要創建證書,以后再啟動程序,就不需要創建證書了,這個過程持續到電腦重啟為止。

創建的證書有兩個關鍵信息:fiddler.certmaker.bc.cert 和 fiddler.certmaker.bc.key。這兩個信息創建之后,要保存到某個地方以備下次啟動時調用獲取之前創建的數字證書。通常,我們可以把這兩個信息(就是字符串)放到App.Config文件里面。

安裝證書使用 CertMaker.createRootCert(),卸載證書使用removeFiddlerGeneratedCerts()

 

下面是一個注入JS的工具,使用Fiddlercore完成,支持HTTPS網頁。

如果有什么技術問題交流,聯系QQ564955427。

 

*****************

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM