Web 安全实战:身份验证与会话管理漏洞全方位攻防测试笔记

发布时间:2026/6/26 21:49:19

Web 安全实战:身份验证与会话管理漏洞全方位攻防测试笔记 前言身份验证与会话管理是 Web 应用安全的第一道防线也是 OWASP Top10 高频漏洞出现的区域。一旦登录认证、Cookie 会话、账号权限机制设计不当攻击者就能通过枚举、暴力破解、会话劫持、CSRF 等方式越权登录、窃取账号、篡改用户数据。本文结合实战靶场项目从原理知识点到 Burp、Hydra、Metasploit 等工具实操完整梳理身份验证与会话管理类漏洞的攻击思路、利用方式与防御方案。一、核心理论知识点梳理知识点 1社会工程学及密码攻击方式1. 社会工程学攻击原理社会工程学并非利用代码漏洞而是利用人性弱点实施欺骗获取敏感信息是绝大多数账号泄露的源头。常见攻击方式(1)钓鱼邮件、仿造登录页面诱导用户输入账号密码(2)伪装客服、运维人员电话 / 微信套取账号、验证码、密保问题(3)公开社交平台扒取用户生日、手机号、昵称等信息用于密码猜解(4)企业内网钓鱼、U 盘摆渡、诱导员工执行恶意程序。2. 常见弱密码攻击类型(1)默认密码设备、后台系统出厂自带账号密码如admin/admin、root/root、tomcat/tomcat(2)弱口令密码生日、手机号后 6 位、123456、admin、qwerty 等简单组合(3)信息衍生密码用户名 年份、姓名缩写 手机号极易通过社会工程收集信息猜解(4)密码复用用户多个网站使用同一套账号密码某平台数据泄露后会引发撞库攻击。知识点 2暴力破解攻击暴力破解本质是通过自动化工具批量尝试账号、密码组合分为两大类(1)字典攻击推荐基于高频弱口令字典、社工字典、泄露密码库批量尝试效率最高是渗透测试最常用方式(2)纯暴力攻击工具随机生成字母、数字、符号组合穷举耗时极长仅适用于密码位数很短的场景(3)混合暴力破解在弱口令基础上增加后缀年份、特殊符号针对用户自定义简单变形密码进行猜解。常见防御缺陷登录无验证码、无登录次数限制、无 IP 封禁、无风控策略会直接导致暴力破解成功。知识点 3CSRF 跨站请求伪造 SSRF 服务端请求伪造CSRF跨站请求伪造漏洞原理网站信任用户浏览器携带的 Cookie 身份凭证攻击者构造恶意页面诱导已登录用户点击访问在用户不知情的情况下以用户身份发起转账、改密码、绑定手机号等敏感请求核心前提目标仅依靠 Cookie 做身份校验没有校验请求来源、没有 Token 校验典型场景个人信息修改、支付操作、后台配置修改、账号权限变更。SSRF服务端请求伪造漏洞原理Web 服务端可以根据用户传入的 URL 地址向内部或外部服务器发起请求攻击者利用该漏洞探测内网资产、扫描内网端口、读取本地文件、攻击内网业务常见风险点图片远程加载、网页内容抓取、第三方接口调用等功能处容易出现 SSRF 漏洞。二、九大实战任务详细实操总结任务 4.1 用户名枚举漏洞测试漏洞成因网站登录、注册、密码找回页面对存在的用户名和不存在的用户名返回不一样的提示信息、响应时长、页面状态码导致攻击者批量枚举全部有效账号。1.典型错误提示账号不存在该用户名未注册密码错误密码输入错误两种返回文案不同可精准枚举账号注册页面输入已存在用户名提示用户名已被占用同样会泄露账号。2.实操步骤(1)准备常用用户名字典admin、root、test、guest、manager 等(2)Burp 抓包登录请求发送到 Intruder 模块对用户名位置设置载荷(3)根据响应长度、返回状态码、页面关键词筛选出所有有效用户名3.安全风险枚举全部业务账号后可针对性开展后续暴力破解、社工钓鱼攻击。4.防御方案统一错误提示用户名或密码错误、限制请求频率、增加验证码防护。任务 4.2 Burp Suite 登录页面字典暴力破解Burp Intruder 是 Web 渗透中最常用的表单暴力破解工具针对 Web 网页登录表单做字典攻击。1.操作流程浏览器配置 Burp 代理抓取登录 POST 请求将数据包发送至Intruder清除默认载荷标记分别给用户名、密码添加载荷位置攻击类型选择Cluster bomb用户名、密码交叉遍历导入用户名字典、弱口令字典设置线程数、请求延迟防止被 WAF 封禁开始攻击根据响应长度、状态码、返回关键字筛选登录成功的数据包。2.优化技巧攻击前先通过用户名枚举筛选有效账号缩小破解范围大幅提升爆破成功率。任务 4.3 Hydra 工具远程暴力破解Hydra九头蛇是开源多协议暴力破解工具支持 HTTP、FTP、SSH、MySQL、RDP 等几十种协议适合非 Web 表单类、远程服务的密码爆破。1.常用 Web 表单爆破命令示例# GET方式登录爆破 hydra -L user.txt -P pass.txt 192.168.1.100 http-get-form /login.php:username^USER^password^PASS^:F用户名或密码错误 # POST方式表单爆破 hydra -L user.txt -P pass.txt 靶机IP http-post-form /login:user^USER^pass^PASS^:登录失败2.优势多线程并发效率高、支持批量 IP 批量协议爆破常用于内网渗透批量扫描弱口令。3.注意事项过高线程容易触发目标防火墙 IP 封禁需要合理设置延迟参数。任务 4.4 Metasploit 破解 Tomcat 后台密码Apache Tomcat 管理后台默认路径为/manager/html采用 Basic 基础认证若使用默认弱口令攻击者可上传 WAR 包木马直接获取服务器权限。1.MSF 实操步骤# 1. 启动msf控制台 msfconsole # 2. 搜索Tomcat爆破模块 search tomcat_login # 3. 调用爆破模块 use auxiliary/scanner/http/tomcat_login # 4. 设置目标IP、端口、账号密码字典 set RHOSTS 192.168.1.100 set USER_FILE user.txt set PASS_FILE pass.txt # 5. 执行爆破 run2.漏洞危害爆破成功后可利用 Tomcat WAR 上传模块打包 Web 木马部署到服务端直接拿下服务器最高权限。3.防御方案修改 Tomcat 默认账号密码、限制后台访问 IP、关闭线上环境管理控制台。任务 4.5 手工挖掘 Cookie 安全漏洞Cookie 是服务端用来存储用户会话身份的凭证如果 Cookie 配置不安全极易造成会话劫持、XSS 窃取 Cookie 越权登录。常见 Cookie 漏洞点1.缺少 HttpOnly 属性前端 JS 脚本可以通过 XSS 漏洞直接读取 Cookie攻击者拿到 Cookie 即可无需账号密码登录2.缺少 Secure 属性HTTP 明文传输 Cookie抓包可直接劫持会话凭证3.Cookie 有效期过长永久会话 Cookie设备丢失、浏览器被入侵后会长期存在账号被盗风险4.Cookie 没有绑定 IP、设备Cookie 在任意设备、任意 IP 下都可以直接复用登录。手工检测方式F12 开发者工具 - Application-Cookie查看 Cookie 字段的属性配置同时抓包查看 HTTP 响应头中Set-Cookie字段配置。任务 4.6 会话固定漏洞攻击1.漏洞原理攻击者提前生成一个无效的 Session 会话 ID诱导受害者访问携带该 SessionID 的链接受害者登录后服务端不会重新生成新的 Session攻击者使用该 SessionID 即可直接登录受害者账号。2.攻击流程(1)攻击者访问网站获取一个未登录状态下的 Session Cookie(2)构造 URLhttp://xxx.com/login?PHPSESSID攻击者提前获取的会话ID发送给受害者(3)受害者点击链接输入账号密码完成登录(4)攻击者直接携带该 SessionID就能以受害者身份登录系统。3.核心成因用户身份认证成功后服务端没有销毁旧会话、没有重新生成全新的 Session 标识符。4.防御方案用户登录成功后强制销毁原有 Session重新生成新的 SessionID给 Cookie 配置 HttpOnly、Secure 安全属性。任务 4.7 Burp Sequencer 评估会话标识符随机性SessionID、Cookie、验证码这类身份凭证必须具备高强度随机性如果可预测、有规律攻击者可以直接猜解会话实现劫持越权。Burp Sequencer 作用对大量随机生成的会话令牌做熵值分析检测令牌是否具备不可预测性。1.实操步骤(1)正常登录抓包找到服务端返回的 SessionID 字段(2)将该数据包发送到Sequencer模块选择需要检测的会话令牌参数(3)持续捕获几百上千条随机生成的令牌样本(4)工具进行随机性熵分析判断会话 ID 强弱熵值高随机性强无法被预测安全熵值低存在时间规律、自增序列、固定前缀等缺陷可被暴力猜解存在会话劫持风险。2.高危场景SessionID 使用时间戳、有序数字、用户名简单加密生成极易被批量预测破解。任务 4.8 不安全的直接对象引用IDOR 越权漏洞属于权限控制失效类高频漏洞核心成因服务端直接使用用户可控参数ID、订单号、用户编号访问资源没有校验当前登录用户是否有权访问该资源。水平越权A 用户修改请求里的用户 ID 为 B 的 ID直接查看 B 的个人信息、订单、隐私数据示例getUserInfo?userid1001修改 userid 为 1002 即可查看他人数据垂直越权普通低权限用户修改参数访问管理员接口新增、删除后台数据测试思路用两个不同权限账号分别抓包修改业务 ID 参数对比返回数据若能访问非授权资源则存在越权漏洞防御方案服务端每次请求校验当前登录用户的权限禁止直接通过前端可控参数访问私有资源。任务 4.9 CSRF 跨站请求伪造攻击实战1.漏洞利用步骤(1) 登录目标网站抓取修改密码、绑定手机号、个人信息修改等敏感操作请求(2) 确认请求仅依靠 Cookie 鉴权没有携带随机 CSRF Token、没有校验 Referer 请求来源(3) 构造恶意 HTML 页面自动提交恶意 POST/GET 请求(4) 诱导已经登录目标网站的用户打开恶意页面请求会自动携带用户 Cookie 执行敏感操作2.简易 CSRF 攻击 POC 示例form actionhttp://靶机网站/modifyPwd.php methodPOST input typehidden namenewpwd value123456 /form scriptdocument.forms[0].submit();/script3.主流防御方案关键请求增加随机 CSRF Token、校验请求 Referer/Origin 请求头、敏感操作增加短信 / 邮箱二次验证码。三、身份验证与会话管理通用防御总结1.账号认证防护登录错误信息统一返回防止用户名枚举开启登录失败次数限制、IP 封禁、图形 / 短信验证码禁止弱口令强制密码复杂度策略定期提醒用户更换密码。2.会话 Cookie 安全加固Cookie 配置HttpOnly、Secure属性登录、权限变更操作强制刷新 SessionID防御会话固定设置合理 Cookie 超时时间闲置自动下线绑定 IP / 设备指纹。3.请求与权限防护敏感接口增加 CSRF Token、校验请求来源防御 CSRF所有后端接口做权限鉴权杜绝水平、垂直越权会话 ID、验证码使用高熵随机算法生成不可预测。4.运维侧安全规范所有中间件、后台管理系统修改默认账号密码关闭不必要管理入口内网边界做访问控制核心后台限制内网 IP 访问定期做弱口令扫描、渗透测试提前修复身份认证类漏洞。四、总结身份验证与会话管理是 Web 安全的基础考点从社工信息收集、账号枚举、暴力破解到会话劫持、CSRF、越权漏洞几乎所有渗透测试流程都会围绕身份权限展开。本次实战项目通过工具实操 原理分析不仅掌握了 Burp、Hydra、MSF 等渗透工具的使用更理解了漏洞底层的设计缺陷。安全防护永远要遵循不信任前端传入的任何参数、不信任浏览器自带的身份凭证、每一次请求都必须做权限与合法性校验。

相关新闻