专栏名称: CSDN
CSDN精彩内容每日推荐。我们关注IT产品研发背后的那些人、技术和故事。
目录
相关文章推荐
新浪科技  ·  【#TikTok等回应澳大利亚社媒禁令#】据 ... ·  5 天前  
51好读  ›  专栏  ›  CSDN

聪明的程序员会绕开这些雷(Struts 安全事件)

CSDN  · 公众号  · 科技媒体  · 2016-12-13 10:02

正文

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语言, 例如淘宝、京东。


在此,推荐Struts避雷宝典


感谢 @zhhy88 图谱绘制,47个Struts资源



或者直接访问Java SE官网知识库。