当前位置: 首页 > java >正文

渗透笔记1-4

一、HTTPS安全机制

1. HTTP的安全风险
  • 窃听风险:明文传输导致通信内容可被直接截获(如Wireshark抓包获取密码)。
  • 篡改风险:中间人可修改传输内容(如注入恶意脚本)。
  • 冒充风险:攻击者伪造服务端身份(如钓鱼网站)。
2. HTTPS解决方案

通过TLS/SSL协议在HTTP与TCP层之间加密:

HTTP         → 明文风险  
└─ SSL/TLS   → 加密层  └─ TCP    → 安全传输  
  • 信息加密:使用对称加密算法(如AES)加密通信内容。
  • 校验机制:通过MAC(消息认证码)检测数据篡改。
  • 身份证书:数字证书验证服务端身份,防止伪造。
3. TLS握手流程

img

步骤关键操作作用说明
第一次握手客户端发送Client Hello(含TLS版本、密码套件、Client Random)协商加密参数,生成密钥材料
第二次握手服务端回复Server Hello(选定密码套件、Server Random) + 发送数字证书确认加密方式,证明身份
第三次握手客户端用证书公钥加密Pre-master Key → 生成会话密钥 → 发送加密的摘要密钥交换,验证通信完整性
第四次握手服务端生成会话密钥 → 返回加密摘要双向验证加密通道可用性

会话密钥:由Client Random + Server Random + Pre-master Key生成,用于后续对称加密。


二、证书体系与信任链

1. 数字证书验证流程

img

  • 证书签名过程
    1. CA对证书信息(公钥、持有者等)做Hash运算。
    2. 用CA私钥加密Hash值 → 生成数字签名
  • 客户端验证
    1. 用CA公钥解密签名 → 得到Hash值H2。
    2. 计算证书Hash值H1 → 对比H1=H2(一致则可信)。
2. 证书链信任传递
信任
信任
信任
操作系统/浏览器
根证书
中间证书
域名证书
  • 验证逻辑
    1. 用根证书公钥验证中间证书签名
    2. 用中间证书公钥验证域名证书
    3. 全部验证通过才建立信任

关键点:信任锚点是预置在操作系统/浏览器中的根证书(自签证书)。


三、RSA算法原理

1. 密钥生成流程
  1. 选两个大素数 pq(1024位以上)。
  2. 计算模数 n = p × q
  3. 计算欧拉函数 φ(n) = (p-1)(q-1)
  4. 选公钥指数 e(通常为65537),需满足 1 < e < φ(n) 且与 φ(n) 互质。
  5. 计算私钥指数 dd × e ≡ 1 mod φ(n)(使用扩展欧几里得算法)。
  • 公钥(n, e)
  • 私钥(n, d)
2. 加解密过程
  • 加密(明文 m):c = m^e mod n
  • 解密(密文 c):m = c^d mod n
3. 可靠性基础
  • 大数分解难题:从 n 反推 pq 在计算上不可行(n 足够大时)。
  • 欧拉定理保证:若 mn 互质,则 m^{kφ(n)+1} ≡ m mod n,使得 m^{ed} ≡ m mod n 成立。

四、DNS解析流程

1.关键步骤解析

以访问 www.baidu.com 为例:

用户本地DNS根DNS顶级DNS(.com)权威DNS(baidu.com)顶级DNS权威DNS查询 www.baidu.com返回IP请求 .com 服务器地址返回 .com 服务器IP请求 baidu.com 服务器地址返回 ns1.baidu.com IP请求 www.baidu.com 的A记录返回 110.242.68.4返回IP并缓存alt[缓存命中][缓存未命中]用户本地DNS根DNS顶级DNS(.com)权威DNS(baidu.com)顶级DNS权威DNS
  1. 本地缓存:浏览器/OS缓存 → 减少查询延迟。
  2. 递归查询:本地DNS服务器代表客户端完成全链路查询。
  3. 层级查询
    • 根DNS → 返回顶级域服务器(如.com)。
    • 顶级DNS → 返回权威DNS服务器(如ns1.baidu.com)。
    • 权威DNS → 返回域名对应的IP(A记录)。
  4. 结果缓存:本地DNS缓存记录(TTL控制时效)
  5. 建立连接:客户端通过IP访问目标服务器
2. 攻击面分析
  • DNS劫持:篡改本地DNS配置或中间节点响应
  • 缓存投毒:伪造权威DNS响应污染缓存
  • DDoS攻击:洪水请求瘫痪DNS服务器

渗透测试关联点

  1. HTTPS中间人攻击
    • 利用伪造证书或SSL Strip攻击降级HTTPS → 窃取敏感数据。
    • 工具:Burp Suite证书劫持、SSLStrip降级攻击
    • 防御:强制HSTS、证书钉扎(Certificate Pinning)
  2. RSA密钥破解
    • 针对短密钥(如512位)使用工具暴力分解 n
    • 工具:John the Ripper破解弱口令私钥
    • 条件:当 ( p ) 和 ( q ) 接近时,可通过Fermat分解攻击
  3. DNS劫持
    • 污染本地DNS缓存 → 将域名解析到恶意IP。
    • 命令:nslookupdigwhois
    • 高阶:DNS区域传输漏洞(axfr请求获取全量记录)
  4. 证书伪造
    • 自签名证书钓鱼 → 诱导用户信任非法服务端。

防御建议

  • 强制HSTS策略防止HTTPS降级
  • 使用2048位以上RSA密钥
  • 部署DNSSEC防止DNS欺骗
http://www.xdnf.cn/news/15373.html

相关文章:

  • vim扩展
  • Spring Boot Cucumber 测试报告嵌入方法
  • Linux 基础命令详解:从入门到实践(1)
  • 微前端框架深度对决:qiankun、micro-app、wujie 技术内幕与架构选型指南
  • MFC UI表格制作从专家到入门
  • MyBatis 在执行 SQL 时找不到名为 name 的参数
  • Unsloth 实战:DeepSeek-R1 模型高效微调指南(下篇)
  • LeetCode 424.替换后的最长重复字符
  • Android展示加载PDF
  • 深入学习前端 Proxy 和 Reflect:现代 JavaScript 元编程核心
  • HarmonyOS应用无响应(AppFreeze)深度解析:从检测原理到问题定位
  • 深入理解Transformer:编码器与解码器的核心原理与实现
  • C++ STL算法
  • C++_编程提升_temaplate模板_案例
  • 传统机器学习在信用卡交易预测中的卓越表现:从R²=-0.0075到1.0000的华丽转身
  • 复习笔记 38
  • vue3+arcgisAPI4示例:自定义多个气泡窗口展示(附源码下载)
  • (三)OpenCV——图像形态学
  • 第8天:LSTM模型预测糖尿病(优化)
  • 2025年采购管理系统深度测评
  • 小架构step系列14:白盒集成测试原理
  • 北京饮马河科技公司 Java 实习面经
  • DeepSeek 本地部署
  • LeetCode经典题解:206、两数之和(Two Sum)
  • 面向对象的设计模式
  • Vue+axios
  • XML vs JSON:核心区别与最佳选择
  • 前端常见十大问题讲解
  • 基于esp32系列的开源无线dap-link项目使用介绍
  • 机器人形态的几点讨论