CWE-488:数据元素暴露于错误的会话
查看自定义信息:
数据可以通过单身对象的成员变量(例如servlets)和来自共享池的对象“流血”到另一个会话。 就servlet而言,开发人员有时不明白,除非servlet实现singlethreadModel界面,否则servlet是单身人士。Servlet只有一个实例,并且该实例被使用并重复使用来处理由不同线程同时处理的多个请求。一个普遍的结果是开发人员使用servlet成员字段,以使一个用户可以无意中看到另一个用户的数据。换句话说,将用户数据存储在Servlet成员字段中会引入数据访问竞赛条件。 ![]() ![]()
![]() ![]()
![]() ![]()
![]()
![]() 语言 班级:不是特定语言的(不确定的患病率) ![]()
示例1 以下servlet将请求参数的值存储在成员字段中,然后将参数值与响应输出流相呼应。
(不良代码)
示例语言:爪哇
公共课程留言簿扩展了httpservlet {
字符串名称;
受保护的void dopost(httpservletrequest req,httpservletResponse res){
name = req.getParameter(“名称”); }... out.println(name +“,感谢您的访问!”); 虽然此代码将在单用户环境中完美工作,但如果两个用户大约在同一时间访问servlet,则两个请求处理程序线程可能以以下方式交织:线程1:分配“ Dick”线程2:将“简”分配到名称线程1:打印“简,谢谢您的访问!”线程2:打印“简,感谢您的访问!”从而向第一个用户显示第二用户的名称。
![]()
提供更多信息 - 请选择其他过滤器。
|
使用共同弱点枚举(CWE)和本网站的相关参考使用条款。CWE由美国国土安全部(DHS)网络安全和基础设施安全局(CISA),由国土安全系统工程和开发研究所(HSSEDI)由manbetx客户端首页(MITER)。版权所有©2006–2023,Miter Comanbetx客户端首页rporation。CWE,CWSS,CWRAF和CWE徽标是Miter Corporation的商标。manbetx客户端首页 |