【发布时间】:2020-04-20 23:02:54
【问题描述】:
我正在尝试将我的用户从 html 页面重定向到已使用 .war 文件部署在 tomcat/webapps 上的 jsp 页面。
在这样做的同时,我还通过 POST 方法将用户的会话信息作为隐藏参数发送。
在burpsuite工具(安全测试工具)的帮助下,可以很容易地操纵cookie并更改登录用户的用户名。我如何才能阻止这种cookie操纵?
【问题讨论】:
-
您无法控制/阻止客户端发送的内容。但是为什么浏览器为“用户名”cookie 发送的内容很重要呢?会话 cookie 应该只包含要使用的会话的 ID(它包含服务器端的所有信息)。
-
我项目的安全测试团队提出了这个问题,当我们点击链接和页面重定向期间,他们能够更改用户名(使用他们的工具),这是产品的主要安全问题。
-
为什么要将用户名保存在 cookie 中?用户名不应该是识别用户的唯一信息。通常您使用其他技术,例如会话或 JWT。这种方式要么没有信息存储在客户端/浏览器中,要么在不破坏存储数据的完整性(如使用加密签名)的情况下无法更改存储的数据。请edit您的问题包含您正在构建的系统的更详细描述,涉及重定向的位置/方式以及您在客户端/浏览器和服务器之间发送哪些cookie。
-
嗨 Progman,我没有明确使用 cookie。有两个不同的应用程序部署在带有war文件的同一个tomcat/webapps上。
-
从应用程序 A 的 HTML 页面,我重定向到应用程序 B 的 JSP 页面,并在 POST 请求中将用户名作为隐藏参数传递。示例代码如下:
<form name="myForm" action="http://<ip address>:8081/applicationB/LandingPageController/home" method="post" id="formDT"> <input type="hidden" name="inputText" value="${user.name}" > <input type="submit" value="Got to B" id="pageb"> </form>测试团队能够在页面重定向之间更改用户名参数。
标签: html session-cookies