数据包分析

数据包分析

0.前言

  主要做一下抓包工具分析Web应用传输的数据的复现(之前大三web课程的作业整理了一下)

1.配置抓包工具Burpsuite/Wireshark

  Burp Suite 是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地 完成对 Web 应用程序的渗透测试和攻击。

   Burp Proxy 的拦截功能主要由 intercept(intercept 拦截/截夺)选项卡中的 Forward、Drop、Interception is on/off 和 Action 构成,他们的功能如下所示。

 Forward(放包):表示将拦截的数据表或修改后的数据包发送至服务器端。

   Drop(废包):表示丢弃当前拦截的数据包

  Interception is on(拦截请求):表示开启拦截功能,单击后变为 interception is off(拦截禁用),表示关闭拦截功能

  单击 Action(行动)按钮:可以将数据包进一步发送到 Spider、scanner、Repeater、 Intruder 等功能组件做进一步测试,同时也包含改变数据包请求方式及其 body 的编码 功能。(发送到其他功能组件)

2.访问过程

  访问某些国内大学的主页,选择使用 http 访问的邮件服务器,以德州学院的邮箱服务为例

  HOST:主机或域名地址。

  Accept:指浏览器或其他客户可以接受的 MIME 格式。Servlet 可以根据它判断并返 回适当的文件格式。

  User-Agent:是客户端浏览器名称。

  Host:对应网址 URL 中的 Web 名称和端口号。

  Accept-Langeuage:指出浏览器可以接受的语言种类。

  connection:用来告诉服务器是否可以维持固定的 HTTP 连接。http 是无连接的, HTTP/1.1 使用 Keep-Alive 为默认值。

  Cookie:浏览器用这个属性向服务器发送 Cookie。Cookie 是在浏览器中寄存的小型 数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。

  Referer:表示产生的网页 URL。如此从网页/icconcept/index.jsp 中点击一个链接 到网页/icwork/search,在服务器发送的 GET/icwoek/search 中的请求中,Referer 是 http://hostname:8080/icconcept/index.jsp。这个属性可以用来追踪 web 请求是从什 么网站来的。

3.尝试输入虚构的帐号口令字进行登录

  在上面抓取到的数据包中可以看见,访问的协议是 HTTP/1.1 版本,使用 GET 进行传输等 信息,通过数据包的内容,我们可以查询到相关版本从而进行对应的漏洞查找

  如图所示,我们选择使用账号与密码同为 123456 作为输入内容进行数据包的抓取

  在所显示的的数据包中我们可以看到,所谓的用户名与密码在 http 的传输中是明文 加密的,可以轻易的就抓到传输的数据,显然是十分不安全的,随后我们捕获网络踪迹并保存

4.访问广大/广工或者其他使用腾讯邮件服务的邮件服务器

  尝试帐号登录

  如图所示,我们依旧选择使用账号与密码同为 123456 作为输入内容进行数据包的抓取

  在所显示的的数据包中我们可以看到,用户名在传输的过程中使用的是明文传输, 但是对于密码的传输是采用了密文加密的效果,通过网站的源码也能看出是 RSA 的加密方式

5.实验分析

  对实验过程截屏,通过适当踪迹数据和 HTML 文本,

  • 问题1 :在 HTTP 访问教育网中的邮件服务器的踪迹中是否发现帐号口令字?为什么?

      首先是在 HTTP 访问邮件服务器的踪迹中确实能够发现账号口令字,这是因为 HTTP 作为超文本传输协议,与 HTTPS 最大的区别就在于 HTT 采取不加密的传输,所以在传输 的过程中是以明文的方式进行交互,这也就导致了我们在抓包的过程中,能够准确的查 看到相关重要信息

      在德州学院学生邮箱的网址界面源码中,对于密码的传输基本那只涉及到一些是否 为空的基本条件判断,对于传输的过程并没有进一步的加密措施

  • 问题2:能否从登录使用腾讯邮件服务的邮箱踪迹中发现帐号口令字等相关信息?为什 么

      在步骤三实验的数据包中,我们依旧可以查找到账号以及口令的相关内容和信息, 但是不同的是,腾讯邮件服务在对数据进行传输中,进行了选择性的加密方法。账号是 以明文的形式呈现在数据包中,而口令是明显进行处理并加密的

  • 问题3:依据所保存的 HTML 文档,解释使用腾讯邮件服务的邮箱帐号登录是如何保护你 的输入凭证的?有什么样的攻击方法可以攻击这样的登录过程?

    通过查看 HTML 文本,我们可以发现,在对口令的处理方式是进行 RSA 加密,所以在 抓取数据包的界面中,所看见的口令是密文效果。 RSA 算法的安全性依赖于大整数分解的困难性。 最直接的攻击方法是分解 n 得到 p,q,进而基于 e 计算 d,随着计算机运算能力的不断提高,通过二次筛法已能分解 180 多位的十进制素数,增加 p,q 的长度已成为许多安全应用系统的加密要求。 另一方面, 利用系统设计和实现的缺陷, 人们也提出了一些基于非因子分解方式破解 RSA 算法的 方案。 目前,对 RSA 算法的攻击主要有以下几种:

      1)模数 n 的因子分解 分解模数 n 是最直接的攻击方法,也是最困难的方法。 攻击者可以获得公钥 e 和 模数 n;如果 n=p*q 被成功分解,则攻击者可以计算出φ(n)=(p-1)(q-1),进而从 ed ≡1 mod φ(n)解得私钥 d

      2)公共模数攻击 若一个多用户系统中只采用一个模数 n,不同的用户拥有不同的 e 和 d,系统将是 危险的。 在此系统中,若有同一消息用不同的公钥加密,这些公钥共模且互质,那该信 息无需私钥就可解密。 举例来说,设 P 为信息明文,两个加密公钥为 e1 和 e2,公共 模数是 n,有:C1=Pe1 mod n 和 C2=Pe2 mod n。如果攻击者获得 n、e1、e2、C1 和 C2, 就能得到 P。

      3)小指数攻击 如果 RSA 系统的公钥 e 选取较小的值, 可以使加密和验证签名的速度有所提高。 但如果 e 取得太小,就容易受到小指数攻击。 例如,有同一系统的三个用户,分别使 用不同的模数 n1,n2,n3,但都选取 e=3;另有一用户欲将同一明文消息 P 发送给以 上三人,使用各人的公钥加密得:C1=P3 (mod n1),C2=P3 (mod n2)和 C3=P3 (mod n3) 一般地,n1,n2,n3 互素(否则,会比较容易求出公因子,降低安全性),根据中国剩 余定理,可由 C1,C2,C3 计算:C=P3 (mod n1n2n3)

      4)选择密文攻击 选择密文攻击指的是攻击者能选择不同的密文,并拥有对应的明文,由此推出想要 的信息。一般攻击者会伪装若干信息,让拥有私钥的用户签名,由此获得有用的明文密文对,然后推算想要的信息。

       该方法最为复杂,从算法上无法解决这一问题,主要对应策略有两条:1)私钥持有 者不对不信任的信息签名;2)签名信息时,先使用 Hash 函数生成的摘要,再对摘要签 名,避免直接对信息的签名。

6.实验总结

  本次实验利用抓包工具分析 Web 应用传输的数据,通过该实验很好的了解了 http 和 https 的数据情况,首先是对数据包的结构进行了回顾,其次是是熟练了 burpsuit 的抓包使用。

  在 http 和 https 的数据包中,明显的差异便是前者没有重要信息加密,后者是进行 了主要信息加密的,值得一提的是,部分大学邮箱的网址访问是 http 协议,但是在抓取包的时候发现口令是进行了加密的,譬如一开始尝试登录的是深圳技术大学的学生邮箱, 他们使用的就是 http 协议结构,但无法直接获取到相关的口令传输。

   通过查找资料,明白了有些学校采用的是前端加密的 http 协议结构方法,这样子也 在一定程度上保护了信息的安全性和保密性,但是前端加密和 https 的区别还未掌握, 他们的体系的不同也就导致了漏洞重点的不同,这一点还有待我去挖掘。


数据包分析
https://one-null-pointer.github.io/2023/02/11/Web练习——数据包分析/
Author
liaoyue
Posted on
February 11, 2023
传送口