• (在客户端)https抓包解密


    (一)原理分析

    https的数据包是用对称秘钥(https协议协商出来的随机数)加密后的密文。

    对称秘钥在传输线路上是密文的(被非对称加密过),但是在client、server端是明文的(因为要用于加解密)。

    对称秘钥如何获取?谷歌浏览器有一个接口,chrome浏览器的https协议中的对称秘钥会保存在”SSLKEYLOGFILE" (windows的一个环境变量,值为自定义的一个文本文件)中,wireshark有读取对称秘钥文件的接口。

    这样一来,就可以抓包和解密了。

    说明:不要以为会获取对称秘钥就可以破解网络上任意的https数据包了。这个对称秘钥是临时协商出来的。你下一次访问,对称秘钥又要改变了。所以,你不参与到client、server端,只参与到传输过程抓包,是无法获取当时的对称秘钥的(被非对称秘钥加了密),也就无法解密https的。所以本文名称为(在客户端)https抓包解密。

    (二)操作演示

    1、获取对称秘钥

    1)windows中设置全局变量

    新建一个文件:D:Tempsslkey.log      (空文件,不用管里面的内容)

    配置环境变量:

      变量名:SSLKEYLOGFILE

      变量值:D:Tempsslkey.log

    2)wireshark中设置读取全局变量

    2、抓对应的包

    1)选择需要抓包的网卡

    2)重启谷歌浏览器,访问目标网站(如:https://www.baidu.com)。必须重启谷歌浏览器,否则无法解密。

    3)几秒后终止wireshark抓包

    4)cmd中ping www.baidu.com 获取ip:163.177.151.109

    5)ip.addr == 163.177.151.109 过滤wireshark中的包。

    6)wireshark底部查看明文数据

    (二)解密成功后的标记

    1、数据包背景色为浅绿色

    2、wireshark底部有解密后的选项卡

    取消解密文件后报错;

    进入

    C:UsersxxxuserAppDataRoamingWireshark 

    删除文件:ssl_keys

    重启wireshark不再报错。

    其他参考:

    https解密

    https://www.cnblogs.com/aucy/p/9082429.html

    https://blog.csdn.net/u010726042/article/details/53408077
    https://www.2cto.com/article/201502/377678.html

  • 相关阅读:
    OD基础2
    OD基础1
    ASCII
    CE基础
    逆向3.OD插件添加及 ODBG2_Pluginnotify配合PN_NEWPROC反反调试
    逆向2.添加插件DEMO
    逆向1.检测程序是否被调试
    C# 下载模板
    layui table 中固定列的行高和table行高不一致
    sql datetime类型数据如果进行模糊查询
  • 原文地址:https://www.cnblogs.com/andy9468/p/11579905.html
Copyright © 2020-2023  润新知