checkmarx对Cross Site History Manipulation描述如下:

风险会造成的后果

攻击者可以通过操纵浏览器的 JavaScript History对象破坏浏览器的同源策略并侵犯用户的隐私。在某些情况下,这使攻击者可以检测用户是否已登录、跟踪用户的活动或推断其他条件值的 状态。这也可能泄露初始攻击的结果,从而增强跨站点请求伪造
(XSRF) 攻击。

起因 如何发生

现代浏览器会将用户的浏览历史记录作为先前访问过的 URL 的堆栈公开给本地
JavaScript。虽然浏览器强制执行严格的同源策略 (SOP)
以防止一个网站的页面读取在其他网站上访问的 URL,但 History
对象确实会泄漏历史堆栈的大小。在某些情况下,仅使用这些信息,攻击者即可以发现应用程序在服务器端执行的某些检查的结果。例如,如果应用程序将未经身份验证的用户重定向到登录页面,则另一个网站上的脚本可以通过检查 History 对象的长度来检测 用户是否已登录。
当应用程序根据某些条件的值、用户的服务器端会话的状态重定向用户的浏览器时,就会造成信息泄漏。例如,用户是否已经过应用程序的身份验证、用户是否访问了有特定参数的特定页面,或某些应用程序数据的值。

解决方案

将一个随机值作为参数添加到所有目标 URL。
下面示例为Cross Site History Manipulation漏洞

If (!isAuthenticated)response.sendRedirect("Login.jsp");

下面是checkmarx给出的整改方案,但是此方案使用不安全的随机数,会报出另一个漏洞Use of Cryptographically Weak PRNG和Fortify的Insecure Randomness

If (!isAuthenticated)response.sendRedirect("Login.jsp?r=" + (new Random()).nextInt());

建议使用java自带的SecureRandom类,生成安全的随机数

最终解决方案
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
int accountID = random.nextInt();
If (!isAuthenticated)response.sendRedirect("Login.jsp?r=" +accountID );

CheckMarx Cross Site History Manipulation 解决方案相关推荐

  1. 【常见Web应用安全问题】---1、Cross Site Scripting

    Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些.  常见Web应用安全问题安全性问题的列表: 1.跨站脚本攻击(CSS or XSS, Cross Si ...

  2. DVWA Cross Site Request Forgery (CSRF) -------WP

    CSRF: 介绍 CSRF跨站点请求伪造(Cross-Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求, ...

  3. security框架工作笔记002---CSRF跨站点请求伪造(Cross—Site Request Forgery)_理解和防御

    JAVA技术交流QQ群:170933152  CSRF概念:CSRF跨站点请求伪造(Cross-Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:   ...

  4. XSS(Cross Site Scripting)攻击简介

    环境 Ubuntu 22.04 IntelliJ IDEA 2022.1.3 JDK 17.0.3.1 Spring Boot 3.0.1 Firefox 108.0.2 问题和分析 在Intelli ...

  5. Discuz! version 5.0.0 suffers from a cross site sc

    提供程序(方法)可能带有***性,仅供安全研究与教学之用,风险自负! ================================================================= ...

  6. XSSF - Cross Site Scripting Framework

    2019独角兽企业重金招聘Python工程师标准>>> 跨站脚本框架 (XSSF) 是一个设计用来快速发现网站存在XSS漏洞的一个安全工具集. 该项目是为了验证网站存在的XSS漏洞及 ...

  7. Reflected Cross Site Scripting (XSS)

    前言 反射型XSS, 即 Reflected Cross Site Scripting (XSS),  攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的 页 ...

  8. Xss-reflected/stored跨站脚本分析(Cross site scripting)

    Xss-reflected/stored跨站脚本分析(Cross site scripting) 基础知识 针对Dom - dochtml Url概念:协议+网址/dns+端口+路径 XSS原理:对U ...

  9. DVWA V1.9:Reflected Cross Site Scripting(存储型XSS)

    DVWA V1.9:Reflected Cross Site Scripting(存储型XSS) 存储型 XSS 介绍 Low 级别 核心代码 官方提示 漏洞利用 Medium 级别 核心代码 官方提 ...

最新文章

  1. Introduction to pinatrace annotate version 2: a look into latches again
  2. iPhone因安全漏洞上热搜,苹果:暂时无法修复,法国总统也中招
  3. Android 开发工具类 02_DensityUtils
  4. 使用Hybris的customer conpon进行促销活动(promotion)
  5. java 哈希一致算法_一致哈希算法Java实现
  6. java什么是网络接口_java 网络编程 -- IP地址的表示与网络接口信息的获取(InetAddress和NetworkInterface)...
  7. java local_java.time.LocalDateTime with()方法
  8. MyEclipse在搭建s2sh时 如何 uninstalled facet
  9. AngularJS 计时器
  10. java读取复杂csv文件内容_java读取并导出多类型数据csv文件
  11. 从分库分表到Database Plus,重新认知ShardingSphere
  12. html微软雅黑字体模糊,WinXP中微软雅黑字体模糊看得很吃力怎么解决
  13. 二流学校的计算机博士,“二流大学”的博士,值得读吗?想的尴尬症都犯了
  14. 实测 ? 2019 史上最全 28个国外国内免费虚拟手机号平台
  15. geojson 河流_openlayers之点,线,面(以城市,河流,省份为例,分别对应点线面)...
  16. sendto 函数中的struct iov_iter结构 (linux-5.0)
  17. Cent os 安装 JDK , 配置JAVA_HOME
  18. 苹果7p最佳系统版本_苹果代码中发现, iPhone12 刘海没了!
  19. 求矩阵乘法及行列式的值
  20. python-OpenCv调用IP摄像头APP

热门文章

  1. 【特征提取】基于matlab共振峰估计【含Matlab源码 550期】
  2. menuconfig 语法
  3. Diablo(暗黑破坏神)的特效实现
  4. 科学等于艺术,艺术等于科学
  5. 2. 深度生成模型-扩散模型(去噪扩散概率模型)
  6. 屏蔽百度及其广告的部分Host
  7. Linux下使用Nginx完成虚拟主机配置
  8. Android杂谈--ubuntu系统下adb连接小米2
  9. IOS风工作总结计划PPT模板
  10. 【C++】memset函数