Web 漏洞挖掘实战
王昊天
螣龙安科 CEO 兼创始人
14867 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 44 讲
结束语 (2讲)
Web 漏洞挖掘实战
15
15
1.0x
00:00/00:00
登录|注册

08|数字证书:攻击者可以伪造证书吗?

你好,我是王昊天。
我们都知道,www.baidu.com 之所以能够访问 Baidu,是因为 DNS 在解析 www.baidu.com 这个记录的时候将 IP 地址指向了 Baidu 的服务器集群,通过 DNS 协议我们可以找到正确的服务器地址。
很多时候,我们在连接网络的时候没有手动设置 DNS 服务器地址,这时我们采用的就是网关统一的默认 DNS 服务器。如果网关的 DNS 被黑客入侵,并且黑客将 www.baidu.com 指向了自己构建的恶意网站,用户就会访问错误的站点,同时可能遭遇黑客的进一步控制。
那么问题来了,我们该如何判断正在访问的站点的真实性呢
答案就是互联网证书体系,而证书体系的有效性就依赖于信任链,这就是这节课我们要一起研究的内容。

证书

我们平时在网络上常说的证书全称叫数字证书,它是一种基于公钥认证体系的电子文件,用于证明公钥持有者的身份
一般在证书中会包含以下几类信息:
公钥信息
拥有者身份信息
数字证书认证机构对该文件的数字签名
证书持有者通过该文件(证书),即可向系统或者其他用户证明身份,从而获得对方信任并授权使用某些敏感服务。
这里我们使用 Mac 系统,通过 launchpad -> 其他 -> 钥匙串访问 -> 系统根证书,可以查看目前系统内部预置的根证书。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

数字证书是互联网安全的重要组成部分,通过公钥认证体系来验证公钥持有者的身份。证书包含公钥信息、拥有者身份信息和数字证书认证机构的数字签名。证书颁发机构(CA)是签发证书的机构,负责签发、认证和管理证书。根证书是信任链的起点,是一切安全信任的基石。Let’s Encrypt是一个非营利性的数字证书认证机构,旨在提供免费的传输层安全协议(TLS)证书。数字证书的安全性和有效性对于保障网络通信的安全至关重要。 在实际应用中,需要对整个信任链进行检查,以建立有效的信任关系。中间人攻击是一种常见的网络安全威胁,通过篡改通信内容来窃取信息或进行恶意操作。文章介绍了使用加密知识构建互联网安全信任体系的重要性,以及数字证书的作用和原理。同时,还探讨了TLS证书的检查和申请过程,以及Web调试工具的技术原理和中间人攻击的实现思路。 通过本文的学习,读者可以对证书以及信任链有一个清晰、整体的理解,从而在构建安全的Web应用领域和加密体系加持的多种新兴技术领域中获得帮助。文章还提出了思考题,鼓励读者通过使用OpenSSL来生成自己的root CA以及签发证书,以进一步加深对文章内容的理解和应用。 总之,本文通过介绍数字证书的重要性和应用,以及中间人攻击的实例,帮助读者快速了解了构建互联网安全信任体系的关键知识和技术原理。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Web 漏洞挖掘实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • leslie
    其实有时所说的不可信不一定是证书本身不可信而是中间环节的proxy的问题,随着软件架构越来越复杂其实漏洞也是从前到后,我们要了解整条链条用了什么才可能可以去预判问题可能出现在哪儿。

    作者回复: 说的很对哦,有时候我们在机场啦、咖啡厅啦连接网络其实都是有安全隐患的,而且现在很多软件更新并非所有环节都验证证书,安全缺失环节客观存在且有风险,同学理解很深刻哦(๑•̀ㅂ•́)و✧

    2022-01-09
    1
  • 孜孜
    在用户机器不被黑的情况下外加http client不忽略证书校验,https的ca体系完全可以防止中间人攻击吧?这也是不要使用非官方浏览器和操作系统的原因! 另外,Let’s Encrypt简直是https超级推动者,免费颁发三个月证书,使用其他工具自动续期。爽歪歪。。

    作者回复: “https的ca体系完全可以防止中间人攻击吧?” “完全可以的,请放心” ヾ(◍°∇°◍)ノ゙ “悄悄地说,现在很多终端应用(非Web)没有证书保护哟,请自行遐想”

    2022-01-04
    1
  • peter
    请教老师三个问题:1 我准备做一个网站,必须要证书吗?2 数字签名用什么加密算法?3 访问一个新网站,什么时候检查证书? 每次访问都需要检查吗?(是在网站访问流程的第一步之前检查证书吗?就是在DNS请求之前。第一次检查后就不再检查了吗?)

    作者回复: 1. 当然啦,没有证书的话,用户访问时会被嗅探等各种方式窃取账户信息哒; 2. 数字签名用非对称密钥算法,可选的有很多,RSA什么的,实际应用可以用OpenSSL库什么的; 3. 刚开始访问就会检查,DNS请求之后检查,因为DNS是寻址,证书是绑在服务器上的,要先寻址到服务器才行哦,每次访问都要检查的哦;

    2022-01-04
  • ifelse
    学习打卡
    2023-03-08归属地:浙江
    1
  • Wales
    请教老师一个问题: CA给互联网信息服务商颁发证书时,证书里的公钥是CA生成的,这意味着私钥也是CA生成的,也就是老师在文中指出的“CA同时拥有证书申请者的公钥和私钥”。 那么这里CA给证书申请者生成的私钥,必然也应该提供给证书申请者,因为申请者需要用私钥来进行独有的加密过程,避免其它攻击者仿冒自己。 那么这里的私钥是通过线下分发的方式(比如给个USB设备)给到申请者嘛?
    2022-10-14归属地:上海
    1
    1
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部