登录接口返回了Cookie,后续请求也一直携带它,但这并不代表安全属性已经配置完整。有时登录响应带有标志,刷新会话时却又被另一条响应覆盖。BurpSuite怎么检查Cookie安全属性BurpSuite Cookie缺少安全标志如何验证,需要从设置Cookie的响应查起,再观察浏览器的实际行为,不能只看请求中的Cookie头。
一、BurpSuite怎么检查Cookie安全属性
Secure限制Cookie通过非加密连接发送,HttpOnly限制页面脚本访问,SameSite约束跨站请求时的携带条件。它们作用不同,检查时应分别记录。
1、找到设置Cookie的响应
①进入【Proxy】→【Intercept】,点击【Open browser】,在测试站点完成登录、刷新会话等操作。
②切换到【HTTP history】,选中相关请求,在【Response】中查看原始响应头。
③逐条查找Set-Cookie,检查登录响应、重定向响应以及后续更新会话的响应,不要只停留在最终页面。
④打开侧边【Inspector】,对照Cookie和响应头信息,记录名称、Domain、Path以及安全属性。
⑤在【Request】中查看后续Cookie头,确认哪个Cookie随业务请求发送,再结合用途确定是否属于会话凭据。
请求中的Cookie头主要包含名称和值,不会把Secure、HttpOnly、SameSite属性原样带回。仅凭请求头看不到标志,不能判定服务器漏配。
2、逐项核对属性与适用范围
①在【Response】中检查敏感会话Cookie是否包含Secure和HttpOnly,并记录SameSite的实际取值。
②核对Domain、Path、Expires或Max-Age,区分会话Cookie与语言、主题等偏好Cookie。
③发现SameSite=None时,同时检查Secure;再到浏览器Cookie存储中确认该条目是否被接受。
例如Set-Cookie:sid=testvalue;Path=/;Secure;HttpOnly;SameSite=Lax,表示这些属性属于sid。响应中存在多条Set-Cookie时,应分别检查,不能把一条的属性套到另一条上。
二、BurpSuite Cookie缺少安全标志如何验证
响应缺少属性是配置证据,实际影响还与Cookie用途、作用域和浏览器策略有关。验证时使用测试账号,并保留未经修改的原始报文。
1、验证缺少Secure后的发送行为
①在【HTTP history】中保存未设置Secure的原始响应,确认浏览器已经存入目标Cookie。
②通过浏览器访问测试范围内、符合Domain与Path的HTTP地址,观察是否真正发出了非加密请求。
③回到【Proxy】→【HTTP history】,检查该HTTP请求的【Request】,确认目标Cookie是否被携带。
④若浏览器直接升级到HTTPS,记录HSTS或HTTPS优先策略的影响,不要将未出现HTTP请求写成Secure已经生效。
在【Repeater】中手工填入Cookie再发送HTTP请求,只能说明工具发出了该报文,不能证明浏览器会自动携带Cookie。即使服务器随后重定向到HTTPS,也应检查首次HTTP请求。
2、验证缺少HttpOnly后的脚本可见性
①确认浏览器存储中的目标Cookie没有HttpOnly,并进入符合其作用域的站点页面。
②打开浏览器开发者工具的【Console】,查看document.cookie的返回内容,核对是否包含目标Cookie名称。
③若未出现,检查当前页面的域名、路径、Cookie有效期及是否存在同名条目,再重新验证。
脚本能够读取会话Cookie,说明它没有受到HttpOnly限制,但不等于站点已经存在XSS。前端确实需要读取的业务Cookie,也应结合用途判断,不能与登录凭据一概而论。
3、验证SameSite缺失或取值不当
没有显式设置SameSite,不等于浏览器按None处理。部分浏览器会应用默认限制,测试结果需要带上浏览器版本与请求场景。
①记录【Response】中的SameSite配置,并核对浏览器实际保存的属性。
②从受控的不同站点发起导航或无副作用的测试请求,分别观察顶层跳转、嵌入请求等场景。
③在【HTTP history】中核对请求方法、目标地址及Cookie是否携带,同时记录浏览器是否阻止第三方Cookie。
④评估业务是否确实需要跨站登录或嵌入访问,再确定Lax、Strict或None的使用方式。
跨源不一定跨站,同一主域下的不同子域可能仍属于同站。SameSite缺失也不能直接等同于CSRF,仍需检查接口行为及其他防护。
三、BurpSuite如何复核Cookie属性修复结果
属性加上后,旧Cookie、不同路径的同名条目,以及后续响应覆盖,都可能影响判断。复测应重新建立一轮会话。
1、检查同名Cookie是否混在一起
①按名称、Domain和Path核对浏览器中的条目,分别对应【HTTP history】中的Set-Cookie来源。
②在测试浏览器中清理相关站点Cookie,重新登录,检查新建条目的属性。
同名Cookie可能属于不同路径。只看到请求里出现两个相同名称,无法直接确定服务器最终使用的是哪一个,应结合后端处理和响应变化继续确认。
2、重新走完会话更新过程
①依次执行登录、会话刷新、退出及重新登录,在【Response】中核对每次设置或更新Cookie的属性。
②检查是否有旧接口或网关响应再次下发缺少标志的同作用域Cookie。
③重复原有浏览器验证,确认修复没有影响正常登录及必要的跨站业务。
3、保留可复查的验证记录
①在【HTTP history】的【Notes】中注明Cookie用途、缺失属性、触发步骤和浏览器环境。
②保存修复前后的报文及观察结果,分享记录时遮盖Cookie值,保留名称和属性信息。
总结
理解BurpSuite怎么检查Cookie安全属性BurpSuite Cookie缺少安全标志如何验证,可以帮助大家把响应配置和实际影响对应起来。会话Cookie值得重点关注,偏好设置、前端交互等Cookie则要结合用途判断。记录中写清服务器下发了什么、浏览器保存了什么、请求又携带了什么,结论会更便于复查,也方便开发人员定位设置来源。希望这些方法能帮助大家减少误判,完成更扎实的检查与复测。如果有BurpSuite相关需求,欢迎联系咨询。
