《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话

news2024/11/22 19:09:49

1.简介

 在大数据时代,互联网时代,个人信息安全尤为重要,网络安全在近日多起电信诈骗事情发酵下的情况下,引起国家,企业,个人对于互联网安全进一步的重视。而之前很多以http协议传输的网站出现的网站信息泄露,个人信息裸露在大数据的泳池中,让我们在遇到一个陌生网站的时候,都会格外考虑其安全性。通过认证SSL证书的以https加密协议访问网站比没有加密的http协议访问网站要安全的多。由于近几年来各大网站越来越注重安全性都改成了https协议,不像前十几年前直接是http协议直接裸奔在互联网。还有的小伙伴或者童鞋们按照上一篇宏哥的配置都配置好了,想大展身手抓一下百度的包,结果一试傻眼了,竟然毛都没有抓到,怀疑是不是上了宏哥的当了。不是的哈,今天宏哥趁热打铁接着讲解如何抓取https协议会话。 

2.HTTP

HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少.

3.HTTPS

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

4.HTTP和HTTPS区别

http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

5.Charles抓取HTTP包

charles中不安装证书,默认就能抓http类型网址的包信息。这部分宏哥在上一篇中就提到过。如下图所示:

 如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a 

6.Charles抓取HTTPS原理

Charles 的主要工作原理就是:对客户端伪装成服务器,对服务器伪装成客户端。

1.客户端向服务器发起HTTPS请求

2.Charles拦截客户端的请求,伪装成客户端向服务器进行请求

3.服务器向“客户端”(实际上是Charles)返回服务器的CA证书

4.Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。

5.客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称秘钥,用Charles的公钥加密,发送给“服务器”(Charles)

6.Charles拦截客户端的响应,用自己的私钥解密对称密钥(Charles拿到了对密钥),然后用服务器证书公钥加密,发送给服务器。

7.服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应

8.Charles拦截服务器的响应,替换成自己的证书后发送给客户端

至此,连接建立,Charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称密钥,之后就可以解密或者修改加密的报文了。

7.Charles抓取HTTPS包

宏哥安装好Charles后,没有对其进行任何配置,现在可以抓取http的包,然后宏哥访问百度试着抓取一下百度的https包,看一下会出现什么情况。

1.浏览器情况:不能正常访问百度,出现这个类似证书错误的提示,如下图所示:

2.Charles情况:不能抓取百度的https的包,出现unknown的错误,如下图所示: 

 

7.1安装证书

从上边的错误我们可以看出是证书问题,那我们就需要安装一下证书在电脑端,具体操作步骤如下:

1.打开charles,点击help-->SSL Proxying-->Install Charles root  Certificate 安装证书,如下图所示:

 

 

2.点击完“Install Charles root  Certificate”后,然后点击“安装证书”,如下图所示:

3.点击“安装证书”后,选择存储位置“本地计算机”,点击“下一步”,如下图所示:

4.证书存储位置选择‘将所有的证书都放入下列存储’,然后点击证书存储后的“浏览”,证书存储选择“受信任的根证书颁发机构”,点击“确定”,如下图所示:

5.点击“下一步”,如下图所示:

6.点击“完成”,提示导入成功。如下图所示:

7.2配置SSL代理

证书安装好后,我们还需要配置Charles的SSL Proxy Settings。具体操作步骤如下:

1.打开Charles,点击proxy>SSL Proxying Settings打开如下弹框,勾选ssl代理开关,左侧inclide为需要抓取的代理,右侧为需要排除抓取的代理,如下图所示:

2.右侧exclude排除的,点击add即可添加,host为域名,port为端口号,我们要想抓取https,在include里,点击add,填写需要抓取https的host,port里填写443即可,也可以用*号代替。宏哥这里在弹出选项卡中,勾选【Enable SSL Proxying】点击【add】,在Host输入【*】表示接收任何主机,在Prot输入【443】最后点击【ok】保存。如下图所示:

3.完成以上步骤基本就已经结束了,这时候我们打开浏览器输入www.baidu,com便可以抓取到了。

(1)浏览器情况:能正常访问百度,如下图所示:

 

 

(2)Charles情况:能抓取百度的https的包,如下图所示:

 8.小结

其实从头到尾感觉和Fiddler的抓取Https的步骤差不多,首先安装证书,然后进行抓包工具自身的配置,最后就可以成功抓取到Https包了。

Q: HTTPS 为什么安全?

A: 因为 HTTPS 保证了传输安全,防止传输过程被监听、防止数据被窃取,可以确认网站的真实性。

Q: HTTPS 的传输过程是怎样的?

A: 客户端发起 HTTPS请求,服务端返回证书,客户端对证书进行验证,验证通过后本地生成用于改造对称加密算法的随机数,通过证书中的公钥对随机数进行加密传输到服务端,服务端接收后通过私钥解密得到随机数,之后的数据交互通过对称加密算法进行加解密。

Q: 为什么需要证书?

A: 防止”中间人“攻击,同时可以为网站提供身份证明。

Q: 使用 HTTPS 会被抓包吗?

A: 会被抓包,HTTPS 只防止用户在不知情的情况下通信被监听,如果用户主动授信,是可以构建“中间人”网络,代理软件可以对传输内容进行解密。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/772734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

APIKIT 自学日记:不光有测试报告,还可以保存测试方案呢

在 APIkit 中做测试,可以直接查看测试报告的! 测试报告 进入测试报告页面,在这里会列出所有手动批量测试、定时测试、Open api测试的测试报告。 查看测试报告 点击顶部的标签,进入定时测试报告列表,你可以在这里选择…

【hadoop】HDFS

HDFS 操作HDFSWeb Console 网页工具操作NameNode操作SecondaryNameNode 命令行Java API HDFS的原理解析数据上传的过程数据下载的过程 HDFS的高级特性回收站配额Quota名称配额空间配额 快照Snapshot安全模式 SafeMode权限管理:类似LinuxHDFS的集群 HDFS的底层原理&a…

LangChain + Embedding + Chromdb,关联使用ChatGLM的本地搭建训练平台教程

一.介绍 OpenAI 在国内用户注册会遇到各种阻力,目前可行的方法是使用本地数据集的功能实现联网搜索并给出回答,提炼出TXT、WORD 文档里的内容。 现在主流的技术是基于强大的第三方开源库:LangChain 。 文档地址:🦜…

行为型模式 - 责任链模式

概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同&a…

2023出海增长背后的隐忧

2023出海增长背后的隐忧 2023.7.19版权声明:本文为博主chszs的原创文章 今年出口逆势增长的领域,新能源车、锂电池、太阳能电池,号称新三样,有数据支撑,看起来鼓舞人心。 见:外贸出口“新三样”&#xf…

Vue2计算属性如何传参

Vue2官网并没解释计算属性应该怎么传值,但是呢,通过闭包的方式(使用箭头表达式)实际上是可以给计算属性传参的(当然,多个参数也是可行的)。 以下是本人项目开发使用自己基于ElementUI封装的集信息采集与文件上传功能的…

软件基础问答题

性能: 负载压力测试是指在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量等,以确定系统所能承受的最大负载压力。 负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下&#xf…

如何控制项目管理的时间节点?

“这个任务着急,先把这个做出来”“临时加个任务”我们在项目开发中,经常遇到这些问题,往往造成项目范围增加、进度延迟、成本增加等问题,项目风险不断增加。 那么我们应该如何更高效地管理项目,尤其是针对关键时间节点…

Win10家庭版安装docker 以及解决 docker is starting

👨 作者简介:大家好,我是Taro,前端领域创作者 ✒️ 个人主页:唐璜Taro 🚀 支持我:点赞👍📝 评论 ⭐️收藏 文章目录 前言一、Hype-v是什么?二、使用步骤1.do…

自动登录harbor脚本

在CI/CD自动化流程中,或者执行shell脚本拉取本地镜像时,需要手工docker login本地仓库,十分的不方便,这里提供一个可以执行的sh脚本,自动登录本地的镜像仓库。 1、安装expect yum -y install expect 2、创建sh文件 vi…

基于XPopup实现的弹窗效果

基于XPopup实现的弹窗效果: implementation com.github.li-xiaojun:XPopup:2.9.191、底部弹窗(BottomPopupView) class OutlinkDealDialog(context: Context,private val selectClickCallback: ((index: Int) -> Unit)? null, ) : BottomPopupView(context) {…

Mybatis简介

1.1 框架介绍 框架是一款半成品软件,可以基于这个半成品软件继续开发,来完成我们个性化的需求! 如图: 1.2 框架要解决的问题 框架要解决最重要的是技术整合的问题 不同的软件企业需要从 J2EE 中选择不同的技术,使得软件企业最…

【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(备份+恢复篇)

深入探索和分析MySQL数据库的数据备份和恢复实战开发指南 MySQL数据库备份全量备份全量备份应用场景 增量备份binlogbinlog主要作用binlog的作用主要有两个方面 开启binlog日志功能要开启MySQL的binlog日志步骤 mysqlbinlogmysqlbinlog的使用案例 全量备份与增量备份结合按天全…

TKDE论文,跑的改的,GPSCVULDETECTOR

Combining Graph Neural Networks With Expert Knowledge for Smart Contract Vulnerability Detection 论文代码GitHub https://github.com/Messi-Q/GPSCVulDetectorpaper https://ieeexplore.ieee.org/abstract/document/9477066/参考IJCAI 21中AME的数据集 https://gith…

huggingface新作品:快速和简便的训练模型

AutoTrain Advanced是一个用于训练和部署最先进的机器学习模型的工具。它旨在提供更快速、更简便的方式来进行模型训练和部署。 安装 您可以通过PIP安装AutoTrain-Advanced的Python包。请注意,为了使AutoTrain Advanced正常工作,您将需要python > 3.…

微信小程序源码反编译(wxss样式无法恢复的问题)

背景:从微信小程序源码上线后,网上一直有大神写程序来反编微信小程序的源码,不过现在来看基本都不能用了,有的能用也不能获取样式wxss文件,经过我的不懈努力,找到一些办法,接下来我会一步步讲。…

HarmonyOS课程体验官招募(第四期),寻找乐于分享,精益求精的伙伴

华为开发者联盟HarmonyOS课程体验官(第四期)活动,开始招募啦! 如果你精益求精、乐于分享;如果你愿意为学堂课程优化改进出谋划策,那就快来加入我们吧!学堂期待与你共同成长、一起进步&#xff0…

大模型开发(八):基于思维链(CoT)的进阶提示工程

全文共8000余字,预计阅读时间约16~27分钟 | 满满干货(附复现代码),建议收藏! 本文目标:介绍提示工程基础类方法、思维链提示方法和LtM的提示方法,并复现解决论文中四个经典推理问题。 代码下载…

JimuReport积木报表 v1.5.9版本发布—免费的可视化报表

项目介绍 一款免费的数据可视化报表,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成报…

中睿天下与北京理工大学网络攻防溯源联合实验室揭牌仪式成功举行

7月17日,中睿天下和北理工共建网络攻防溯源联合实验室揭牌仪式暨“网络安全攻防对抗实战”暑期课程开幕式在北京理工大学举行。中睿天下联合创始人魏海宇、创新实验室负责人朱鲲鹏、北京理工大学网络空间安全学院副院长嵩天、副院长张延军、副院长刘莲及部分师生代表…