Django检测到会话cookie中缺少HttpOnly属性手工复现

一、漏洞复现

会话cookie中缺少HttpOnly属性会导致攻击者可以通过程序(JS脚本等)获取到用户的cookie信息,造成用户cookie信息泄露,增加攻击者的跨站脚本攻击威胁。

第一步:复制URL:http://192.168.43.219在浏览器打开,使用F12调试工具;

第二步:选择Application,点击Cookies查看csrftoken的Value信息;

第三步:选择Console,输入命令alert(document.cookie);

第四步:对比csrftoken的Value信息,如果可以获取值相同,说明存在BUG。

二、漏洞修复

在settings.py中添加以下代码:

复制代码
CORS_ALLOW_ALL_ORIGINS = True
CSRF_COOKIE_HTTPONLY = True  # 防止XSS攻击
CSRF_COOKIE_SECURE = True  # 防止CSRF攻击
CSRF_COOKIE_SAMESITE = 'Strict'  # 防止CSRF攻击
SESSION_COOKIE_SECURE = True  # 防止session劫持
SESSION_COOKIE_SAMESITE = 'Strict'  # 防止session劫持
CSRF_TRUSTED_ORIGINS = ['你的域名']  # csrf跨域

此时HttpOnly已经修复,再次选择Console,输入命令alert(document.cookie);

弹出框已经不存在csrftoken的Value信息。

三、HttpOnly 属性的作用

  1. 防止跨站脚本攻击(XSS)

XSS 攻击是一种常见的网络攻击,黑客通过注入恶意脚本来窃取用户 cookie,获取用户敏感信息。将 cookie 设置为 HttpOnly 可以阻止这种攻击,因为恶意脚本无法访问或修改包含敏感信息的 cookie。

  1. 增加会话安全性

由于会话 cookie 经常用于管理用户的登录状态和身份验证,将其设置为 HttpOnly 可以增加会话的安全性。黑客无法在用户的浏览器中获取会话 cookie 的值,进而无法伪造用户身份。

  1. 减少信息泄露风险

将 cookie 设置为 HttpOnly 可以减少敏感信息泄露的风险。即使恶意脚本成功注入网页,它也无法获取存储在 cookie 中的敏感数据。

相关推荐
知识浅谈17 小时前
国密算法SM2与SM3在Java项目中的实践指南
java·开发语言·安全
鹅鹅呀17 小时前
态势感知?什么是态势感知?安全与防护
安全
Cloud Traveler17 小时前
镜界药典:Rokid AR眼镜赋能的智能用药安全守护系统
安全·ar
还不秃顶的计科生17 小时前
“please restart word to load mathtype“解决方法
运维·服务器
error:(17 小时前
【保姆级】ESP32 与 ROS 2 通信实战教程
linux·物联网
傻啦嘿哟17 小时前
Python文件目录比较全攻略:从基础到实战
服务器·前端·数据库
XH-hui17 小时前
【打靶日记】HackMyVm 之 Random
linux·网络安全·hackmyvm·hmv
YANshangqian17 小时前
微软Microsoft Edge浏览器 v143.0.3650.75 基于Chromium内核
linux·运维·服务器
网安小白的进阶之路17 小时前
B模块 安全通信网络 第二门课 核心网路由技术-1-OSPF之LSA
网络·安全
#微爱帮#17 小时前
监狱写信寄信工具评测:微爱帮 vs 寄信啦 vs 蓝信了:监狱寄信的“安全之战”背后,藏着三个残酷真相
安全·小程序·监狱写信·监狱服刑·监狱·服刑人员