自学渗透测试第五天(HTTP/HTTPS协议与Wireshark抓包)
2.2 HTTP/HTTPS协议与Wireshark抓包第5天核心目标掌握HTTP/HTTPS协议深入理解HTTP请求/响应结构、方法、状态码、头部字段、Cookie、会话机制以及HTTPS的SSL/TLS加密原理。掌握Wireshark基础熟练使用Wireshark进行网络流量捕获并能够过滤、分析HTTP/HTTPS协议流量提取关键信息。模块一HTTP协议深度解析1.1 HTTP基础无状态协议每次请求独立依赖Cookie/Session维持状态。请求/响应模型客户端发起请求服务器返回响应。1.2 HTTP请求请求行方法 请求URI HTTP版本常用方法GET获取资源、POST提交数据、PUT更新、DELETE删除、HEAD获取头部。请求头Host目标主机。User-Agent客户端标识。Referer来源页面。Cookie携带会话凭证。Content-Type请求体类型如application/x-www-form-urlencoded,application/json。Content-Length请求体长度。请求体POST、PUT等方法携带的数据。1.3 HTTP响应状态行HTTP版本 状态码 状态短语1xx信息。2xx成功200 OK。3xx重定向301 Moved Permanently,302 Found。4xx客户端错误403 Forbidden,404 Not Found。5xx服务器错误500 Internal Server Error。响应头Server服务器信息。Set-Cookie设置Cookie。Content-Type响应体类型如text/html; charsetutf-8。Content-Length响应体长度。Location重定向目标3xx。响应体HTML、JSON、图片等资源。模块二HTTPS与SSL/TLS2.1 HTTPS概述HTTP over SSL/TLS在HTTP和TCP之间加入安全层提供加密、身份验证和数据完整性。端口默认443。2.2 SSL/TLS握手简析Client Hello客户端支持的最高TLS版本、加密套件列表、随机数。Server Hello服务器选择的TLS版本、加密套件、随机数发送服务器证书。客户端验证证书检查证书有效性、颁发者、域名匹配。密钥交换客户端生成预主密钥用服务器公钥加密后发送。生成会话密钥双方利用随机数和预主密钥生成相同的对称会话密钥。加密通信开始使用会话密钥加密后续HTTP通信。模块三Wireshark基础与抓包3.1 Wireshark界面与配置主界面菜单栏、工具栏、数据包列表、数据包详情、数据包字节流。捕获选项选择网卡、设置捕获过滤器host 192.168.1.1、混杂模式。显示过滤器在捕获后过滤显示语法更强大如http.request.method GET。3.2 基础抓包与分析流程开始捕获选择网卡如eth0点击鲨鱼鳍按钮。生成流量在浏览器访问一个HTTP网站如http://testphp.vulnweb.com。停止捕获点击红色方块按钮。应用显示过滤器在过滤栏输入http只显示HTTP协议包。分析单个数据包点击一个HTTP请求包在详情面板展开各层协议查看。模块四Wireshark过滤与实战分析4.1 常用显示过滤器ip.addr 192.168.1.100 # 过滤特定IP tcp.port 80 # 过滤80端口 http # 所有HTTP流量 http.request.method GET # GET请求 http contains password # HTTP数据中包含password tls # TLS/SSL流量 dns # DNS流量4.2 跟踪TCP流与会话右键数据包 - 追踪流 - TCP流将一次TCP会话的所有数据包重组便于查看完整HTTP请求响应。4.3 HTTPS流量解密前提条件方法拥有服务器私钥或在客户端配置SSLKEYLOGFILE环境变量让浏览器将TLS会话密钥导出Wireshark导入后可解密。模块五当日达标实战任务5.1 HTTP协议分析手动构造请求使用nc或telnet手动向一个HTTP服务器发送原始HTTP请求并解析返回的响应头。printf GET / HTTP/1.1\r\nHost: example.com\r\n\r\n | nc example.com 80分析请求响应用浏览器开发者工具的“网络”标签访问一个网站记录一个典型请求的完整请求头和响应头。5.2 Wireshark抓包基础捕获HTTP登录打开Wireshark开始捕获。访问一个HTTP登录页面如DVWA输入用户名密码登录。停止捕获使用过滤器找到这个登录的POST请求并在数据包详情中定位到提交的用户名和密码明文。分析DNS查询在同一个捕获文件中过滤dns查看访问网站前发生的DNS查询和响应。5.3 HTTPS与TLS分析捕获TLS握手访问https://www.google.com在Wireshark中捕获流量。过滤tls找到Client Hello和Server Hello数据包查看它们协商的TLS版本和加密套件。证书查看在Server Hello后的数据包中找到Certificate导出服务器证书查看其颁发者、有效期、域名等信息。模块六常见问题与解决方案6.1 协议与概念GET和POST的区别GET参数在URL中有长度限制可缓存、可收藏POST参数在请求体中更安全无长度限制。Cookie和Session的区别Cookie数据存储在客户端Session数据存储在服务器端Session ID通常通过Cookie传递。6.2 Wireshark使用抓不到本地回环localhost流量使用Npcap或WinPcap的Npcap Loopback Adapter或使用RawCap等工具。流量太多无法定位熟练使用显示过滤器或先设置捕获过滤器缩小范围。HTTPS流量是加密的看不到内容在测试环境中可配置SSLKEYLOGFILE解密在实际渗透中可通过中间人攻击如Burp Suite解密分析。明日预告第6天将进入Wireshark进阶与网络扫描学习更复杂的显示过滤器、统计功能以及使用Nmap进行主动主机发现、端口扫描、服务与版本探测、OS识别等高级信息收集技术。———————————————————————————————————————————免责声明本技术分享内容仅供学习和交流目的不构成任何形式的专业建议或承诺。分享者不对因使用或参考本内容而导致的任何直接或间接损失或损害承担责任。网络安全技术涉及潜在风险请在合法授权范围内谨慎操作遵守相关法律法规。读者应自行评估技术适用性并在实际环境中采取必要的安全措施。版权声明未经许可不得擅自修改、转载或用于商业用途。