Go应用程序需要注意的漏洞备忘单(4)

2024-09-26 来源:飞速影视
当HTTP响应标头是从不受信任的输入动态构建时,就会发生标头注入。根据漏洞影响的响应标头,标头注入可能导致跨站点脚本、开放重定向和会话固定。
例如,如果标头可以由URL参数控制,则攻击者可以通过在参数中指定他们的恶意站点来导致开放重定向。攻击者甚至可以在受害者的浏览器上执行恶意脚本,或者通过标头注入向受害者发送完全受控的HTTP响应来强制受害者下载恶意软件。
可以通过避免将用户输入写入响应标头、从用户输入中去除换行符(换行符用于创建新的HTTP响应标头)以及使用允许列表来验证标头值来防止标头注入。

(13)会话注入和不安全的cookie


会话注入是一种标头注入。如果攻击者可以操纵他们的会话cookie的内容,或者窃取其他人的cookie,他们可以欺骗应用程序。攻击者可以通过三种主要方式获取他人的会话:会话劫持、会话篡改和会话欺骗。
会话劫持是指攻击者窃取别人的会话cookie并将其用作自己的。攻击者经常通过XSS或MITM(中间人)攻击窃取会话cookie。会话篡改是指攻击者可以更改其会话cookie以更改服务器解释其身份的方式。当会话状态在cookie中进行通信并且cookie没有正确签名或加密时,就会发生这种情况。最后,当会话ID是可预测的时,攻击者可以欺骗会话。如果是这种情况,攻击者可以伪造有效的会话cookie并以其他人的身份登录。防止这些会话管理陷阱需要多层防御。

(14)主机标头中毒


Web服务器通常在同一个IP地址上托管多个不同的网站。HTTP请求到达某个IP地址后,服务器会将请求转发到主机标头中指定的主机。尽管主机标头通常由用户的浏览器设置,但它仍然是用户提供的输入,因此不应被信任。
如果Web应用程序在使用主机标头构造地址之前未对其进行验证,则攻击者可以通过Host标头发起一系列攻击,例如XSS、服务器端请求伪造(SSRF)和Web缓存中毒攻击。例如,如果应用程序使用主机标头来确定脚本的位置,则攻击者可以提交恶意主机标头以使应用程序执行恶意脚本:
Go
1 scriptURL := fmt.Sprintf("https://%s/script.js",
2 request.Header.Get("Host"))
相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号