热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

由HTTPS抓包引发的一系列思考(HTTPS解密)

前言在渗透测试过程中,必不可少的操作就是使用BurpSuite、Fildder等抓包工具对应用程序的数据包进行拦截、观察和篡改。那么问题来了——对于使用HTTPS协

前言

在渗透测试过程中,必不可少的操作就是使用BurpSuite、Fildder等抓包工具对应用程序的数据包进行拦截、观察和篡改。那么问题来了——对于使用HTTPS协议的站点,在BurpSuite中拦截到的数据包为何也是“明文传输”?如下图所示。

从大神那里获得解答:


(1) BurpSuite能抓到HTTPS协议的“明文数据”是因为BurpSuite在本地浏览器安装了自己的证书,作为中间人的它分别建立起了“客户端->代理服务器”、“代理服务器->服务端”两段HTTPS通道,BurpSuite获得Client消息后先解密后再重新加密,然后代替客户端发给服务端,这个过程中BurpSuite自然能获得明文。

(2) 但是如果使用WireShare来单纯监听、嗅探HTTPS协议的数据包的话,我们就会看到TCP携带的Data都是密文,是无法拿到明文数据的。



WireShark抓包

接下来当然是使用WireShare监听数据并观察分析下,先简单说下WireShare的基本使用。

首先开启WireShark并配置受监听的网卡:

选择正在使用的网卡,双击WLAN开始监听:

电脑中开启浏览器或其他应用的时候都会有流量产生,有流量产生就会被WireShark捕捉到。上图为刚刚开启WireShark后的捕捉状态,会抓到大量各种各样的流量,稍后我们会进行过滤操作。


HTTP站点

使用合天网安实验室的登陆页面作为观察对象。

在CMD中Ping域名,获得站点IP地址58.20.54.226:

在WireShark中设置过滤规则“ip.dst==58.20.54.226”,发现登录请求传输的账号密码信息:

也可以选择资源为POST /sessions HTTP/1.1的流量然后鼠标右键选择追踪流->TCP流,可以看到用户名和密码等敏感信息可以被嗅探:

查看前端代码,可发现该HTTP站点确实对账户密码做了前端加密后再进行传输:


HTTPS站点

看完上面HTTP站点的数据在WireShark中“裸奔”,接下来看看HTTPS站点是不是也如此。

选用站点“墨者学院”作为观察对象:

在WireShark中设置过滤规则“ip.dst==113.200.16.234”,可发现HTTP站点的流量均给出了具体的请求资源地址(如上面的POST /sessions HTTP/1.1),而HTTPS站点传输的时候只提示为“Application Data”:

继续选择任意协议为TLSv1的流量后右击选择追踪流->TCP流,发现数据均经过加密,根本看不懂:


解密HTTPS数据

HTTPS协议使用了对称加密,客户端拥有并存储了对称加密的会话密钥,浏览器在接收到服务端发送回来的密文数据之后,会使用存储在本地的秘钥对数据进行解密。那么我们通过WireShark监听到的HTTPS站点的密文能否依靠此密钥进行自动解密?答案是——可以。

接下来我们来实际操作并验证下:

1、以windows系统+Chrome浏览器为例,首先要导出浏览器存储的密钥,通过计算机属性——高级系统设置——环境变量,新建一个变量名“SSLKEYLOGFILE”的变量,变量值是导出的密钥具体文件地址。2、设置后可以通过重启Chrome浏览器打开任意一个HTTPS网址,此时查看变量值对应路径,密钥成功导出到本地啦,已经生成sslkey.log文件:

3、现在可以将密钥导入到Wireshark了,具体路径如下:菜单栏—>编辑—>首选项—>Protocols—>TLS/SSL(选择SSL还是TLS请根据实际情况):

4、配置完成,来看下最终的实际效果(此处同样使用上文中“墨者学院”HTTPS站点作为测试对象,其初始的加密数据包状态可翻看前文):

5、对比一下文章开头BurpSuite拦截到的数据包:

【总结】至此,我们可以得知BurpSuite拦截HTTPS站点可获得明文数据包,并非因为HTTPS站点跟HTTP站点一样进行“裸奔”,而是BurpSuite代理服务器作为中间人,对HTTPS站点的数据包进行了解密。


监听局域网流量

既然HTTP协议和HTTPS协议的明文数据我们都有办法通过WireShark进行获取,那么问题来了——WireShark能否轻易获得局域网内部其他主机的数据包呢?(如果可以………我那存有两毛钱巨款的账户的信息安全该咋办?)

问题的答案是——Windows 10系统可以在一块真实无线网卡基础上再虚拟出一块无线网卡,支持网络共享,让电脑变身WIFI热点,我们把接网卡共享后设置其IP为192.168.XXX.XXX,让这个网卡做网关,别的电脑连上WIFI后都通过这个网卡上网,然后你就可以轻易的在这个网卡上捕获别的电脑的数据包。

什么?你不信?那接下来进行实操来验证下吧。

1、要通过Win10系统自带的移动热点进行WIFI共享,首先确保WLAN网卡开启,WLAN网卡连接到其它无线WLAN网络上:

2、移动热点即变为可开启状态,并点击编辑按钮进行SSID无线名称及连接密码进行设置即可:

3、在网络连接设置页面上找到刚刚开启的虚拟AP网卡信息:

4、在CMD窗口中使用ipconfig命令查询当前主机的IP,结果为:

5、设置虚拟网卡的IP地址、子网掩码、DNS服务器地址如下,点击确认:

6、选择WLAN 右键属性—>共享设置,选择共享并选择刚刚开启的无线AP热点,点击确认:

7、通过手机或者其他支持WIFI上网的设备搜索该信号即可进行连接并上网,此处选择手机:

8、查看手机连上电脑热点后分配到的IP地址:

9、在电脑打开WireShark,监听刚才开启的虚拟无线网卡:

10、可以看到,成功监听到手机的数据包流量:

11、进一步验证一下!!手机浏览器打开“合天网安实验室”站点的登录页面,并进行登录:

12、在WireShark输入过滤规则“ip.src==192.168.137.251 and ip.dst==58.20.54.226”并查看登录请求包,成功监听到明文账号和密码信息(已做前端加密):

至此,我们可以看到,手机平时在公众场合连接未知的WIFI后进行系统登录、转账业务等敏感操作将是多么危险!!!!一不小心账号和密码就被监听了!


推荐阅读
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 寻求更强大的身份和访问管理(IAM)平台的企业正在转向云,并接受身份即服务(IDaaS)的灵活性。要为IAM选择正确的场外解决方案,业务管理人员和IT专业人员必须在实施之前评估安全 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 解决浏览器打开网页后提示“dns_probe_possible 怎么解决”的方法
    在使用浏览器进行网上冲浪的时候遇到故障是一件很常见的事情,很多用户都遇到过系统提示:dns_probe_possible。从提示中可以看出和DNS是有一定的关系的,经过小编测试之后 ... [详细]
author-avatar
写bug小能手
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有