您现在的位置是:IT资讯 >>正文
我在登录功能埋的坑:HTTP重定向攻击差点让公司背锅(附解决方案)
IT资讯183人已围观
简介上周我在公司捅了个篓子——自己写的登录模块差点成了钓鱼网站的帮凶。今天就跟大家唠唠这个惊险过程,以及怎么避免HTTP重定向攻击这个"隐形炸弹"。一、那个让测试妹子暴走的早晨事情发生在某个阳光明媚的周一 ...
上周我在公司捅了个篓子——自己写的登录定登录模块差点成了钓鱼网站的帮凶。今天就跟大家唠唠这个惊险过程,功能攻击锅附以及怎么避免HTTP重定向攻击这个"隐形炸弹"。差点
一 、司背那个让测试妹子暴走的解决早晨
事情发生在某个阳光明媚的周一 ,测试组的登录定小美突然冲进我们开发组 :"你们的高防服务器登录接口被劫持了 !用户点完登录直接跳转到赌博网站!功能攻击锅附"
我当时的差点反应 :"绝对不可能!我明明做了URL白名单验证..."
1.1 问题重现 :用户登录变赌博
我们复现了问题场景:
用户访问 www.our-app.com/login?司背redirect=/profile输入正确账号密码页面跳转到...澳门首家线上赌场(!)我盯着浏览器的解决Network面板,发现请求里赫然有个302状态码 :
复制HTTP/1.1 302 Found Location: https://malicious-site.com?登录定steal_cookie=123abc1.2.关键问题解析 :起初我们以为用户访问的是正常路径/profile,免费模板但实际攻击发生时,功能攻击锅附redirect参数是差点经过精心伪装的:
图片
实际跳转地址变成:https://our-app.com//malicious-site.com浏览器自动解析为:https://malicious-site.com
为什么测试时没发现?我们在测试环境用的都是类似/profile的简单路径 ,完全没料到这些骚操作:
//外部网站 的模板下载司背路径拼接攻击@恶意域名 的特殊解析%编码 的绕过手法二 、解剖这只"重定向蟑螂"
2.1 重定向的解决工作原理
图片
就像快递员送错包裹 :
用户说:"送完这个去A地址"(带redirect参数)服务器说 :"好的,下个包裹送到B地址"(返回302+Location)快递员(浏览器)无脑照做2.2 漏洞代码长啥样 ?
这是我最初写的危险代码(Java示例):
复制// 危险示范!请勿模仿 !源码库 String redirectUrl = request.getParameter("redirect"); response.sendRedirect(redirectUrl);1.2.3.三、我是怎么填坑的
3.1 第一层防护 :白名单验证
复制List<String> allowedPaths = Arrays.asList("/profile", "/dashboard"); if(!allowedPaths.contains(redirectParam)){ redirectParam = "/default"; // 跳转到安全页面 }1.2.3.4.5.3.2 第二层防护 :签名校验
给redirect参数加"防伪码":
复制# 生成签名 sign = hashlib.sha256(redirect_path + SECRET_KEY).hexdigest() safe_url = f"{ redirect_path}?sign={ sign}" # 验证时 client_sign = request.GET.get(sign) server_sign = hashlib.sha256(redirect_path + SECRET_KEY).hexdigest() if client_sign != server_sign: abort(403)1.2.3.4.5.6.7.8.9.3.3 第三层防护 :相对路径转换
把绝对URL变成相对路径:
复制// 把 https://www.our-app.com/profile 转为 /profile function sanitizeRedirect(url) { return new URL(url).pathname; }1.2.3.4.四、预防重定向攻击的五个要点
绝不信任客户端传参:把redirect参数当嫌疑人审禁用开放重定向 :就像不给陌生人留家门钥匙设置跳转延迟:重要操作前加二次确认记录可疑日志 :给异常跳转装监控定期安全扫描 :用自动化工具查漏五、血泪教训总结
这次事故让我明白:安全不是功能,而是底线。源码下载现在每次处理重定向时 ,我都会默念三遍 :
"用户传参猛于虎 ,未经验证就是赌 ,白名单加签名锁 ,安全红线不能触 。"
最后送大家一个自查清单:
• [ ] 所有redirect参数是否强制校验 ?
• [ ] 是否存在裸跳转(直接拼接URL)?
• [ ] 是否配置了CSP安全策略 ?
• [ ] 是香港云服务器否禁用非必要的HTTP方法?
• [ ] 是否定期进行渗透测试?
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/news/796f499199.html
相关文章
专家视点:智能建筑的网络安全
IT资讯当智能建筑中的网络安全话题出现时,问题就出现了,即与趋势和技术相关的挑战,以及谁应该关注这个话题。建筑业主、投资者、建筑经理、租户以及建筑用户都应该关注建筑的网络安全问题。现代建筑配备了尖端技术,专注 ...
【IT资讯】
阅读更多vivo手机使用技巧:你不知道的一些隐藏功能
IT资讯【什么是OTG功能】就是可以连接储存设备的功能,比如U盘,数码相机,手机,移动硬盘等,有了OTG功能就等于有无限量加大的储存容量。拥有OTG功能的智能手机只要插上OTG连接线就可以接移动硬盘、U盘观看 ...
【IT资讯】
阅读更多华为nova2代多少钱 华为nova2代配置参数
IT资讯华为在长沙举行了华为nova2系列新品发布会,此次发布会的主题是;高颜值、爱自拍”,和此前曝光的一样,这款手机主打年轻人,采用了全新的设计语言,比如现在流行的U形天线条、后置双摄等等。华为nova2主 ...
【IT资讯】
阅读更多
热门文章
最新文章
友情链接
- 数据中心电源的五大趋势
- 蒸汽吸尘器的清洁效果及优点(以蒸汽吸尘器为主题的家居清洁新选择)
- 昊诚电池(以昊诚电池怎么样为主题的研究及评价分析)
- 尼康D700(探索尼康D700的出色性能和多功能特点)
- IBM携手腾讯联合发布《无边界零售》白皮书:洞察行业新格局,赋能企业“无边界零售”转型
- iPhone7防抖技术(探索iPhone7防抖技术的出色表现和关键特性)
- HTCM8像素之超越期待的照相机(HTCM8搭载的照相技术让您拍照更具细节和清晰度)
- 华为Mate9拍摄视频全方位评测(华为Mate9拍视频功能强大,画质出色,满足各类拍摄需求)
- 中兴A2015顶配(性能强大,拍照出色,超高性价比引领市场潮流)
- 探索如何将锁屏变成个性主题(打造独特的手机锁屏体验) 香港物理机b2b信息平台云服务器企业服务器源码库亿华云网站建设