• 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生成存储在用户的PersonalCertificates存储中的证书。这些证书与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。

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

  • 相关阅读:
    如何更改SQL Server2008默认数据库的存储路径
    虚拟内存页面文件pagefile.sys(棉文件)改变存放位置
    Redis热点数据高频访问问题以及解决方案
    gc日志收集和分析
    oauth2中client_id_to_access数据膨胀问题
    Redis慢查询日志
    24个Jvm面试题总结及答案
    springboot-使用assembly进行项目打包
    volatile关键字解读
    redis的zset结构跳表
  • 原文地址:https://www.cnblogs.com/Charltsing/p/FiddlerCoreHTTPS.html
Copyright © 2020-2023  润新知