12月10日,京东数据事件——
“一个京东的12G 数据包近期在黑市上流通,其中包括用户名、密码、邮箱、QQ号、电话号码、身份证等多个维度,数据多达数千万条。随后也有京东用户反映,自己的京东白条近期被盗刷。”
12月11日,京东回应还有“极个别”系统使用Struts2框架,但已经过妥善升级,“暂不会出现安全问题”。
有人说
前人在利用基础语言进行操作时发现了共性,便将基础性的内容提取,于是就有了框架。而开源框架指的是,不仅给你框架,还将这个框架的搭建方法,以及源码一并给你。任何人都可以根据需要更改框架,甚至还可以在此过程中发现框架的不足与漏洞。
然并卵
许多程序员面临的问题是,公司要求快速迭代,产品明天要上线,你今天还要写框架,费时费力,索性就直接借助开源框架。
那些雷
Struts 2官方起初曾就框架可能存在的安全漏洞进行了声明。开发人员在运用该框架编写代码时,需要进行必要的安全处理。
当出现漏洞是,Struts会提示用户升级,但若暂时无法升级,系统会发布最高安全等级为“重要”或是“极其重要”不等的提示,并会附上相应的解决措施。
所有Struts2开发人员必读,最高安全等级为“极为重要”的安全提示。
这就像是已经告诉你,冬天很容易感冒,要多穿点衣服。但若是你还是少穿衣服,没有应用这个安全处理措施,那感冒就怪不了别人了。
Struts2是什么?
Struts是基于Java语言的一款开源框架,类似基于PHP语言的Yii和Laravel。
Struts是Apache基金会的一个开源项目,广泛应用于大型互联网企业、政府、金融机构等网站建设,并作为网站开发的底层模板使用。
Struts 2是Struts的下一代产品,是在Struts 和WebWork的技术基础上进行合并,形成的全新框架。
2013年7月17日,Struts2曾出现高危漏洞。包括国内很多知名网站在内的大量网站,受到此漏洞不同程度的影响。攻击者可以利用该漏洞执行恶意java代码,最终导致网站数据被窃取、网页被篡改等严重后果,使网站及网民安全受到了极大的威胁。
一些观点
框架就像是一个柜子,轮廓已经在那里了,怎么隔层,放哪些东西都是由你自己决定。隔层、放置的东西都是小问题,但是若框架出现问题,那影响就是根本性。
Struts在早期是Java后端开发很成熟的解决方案,被大量采用,后来陆续爆发了不少问题和漏洞,但是企业要重新更换整体框架,不管是在技术层面,还是运营层面,都有不少阻力。
Java语言的开发效率低于PHP,但是运行速度优于后者,相对来说更适合项目较大的系统。国内的电商平台一般都使用 Java语言, 例如淘宝、京东。