黑客这一名词在网络诞生以来就一直存在,而伴随黑客而行的就是过各种病毒和漏洞攻击。这种攻击防不胜防,小的可能只是浏览下你的电脑信息,大的则会影响国家发展。有小道消息称,普金上位,就是因为Facebook上消息泄露,导致投票统计有利于普金。当然,我们这里并不是讨论普金的成功方式,而是今天遇到的漏洞攻击,和其解决方案带来的反思。
早上十点,人事发来一通知,说是微信支官方通知微信开发商,说是有人利用XXE漏洞攻击各大服务器,需要开发商们更新服务器数据,防止漏洞攻击再次发生。一打开官方文档,就懵逼了,文档比较详细,也写出了各种开发语言的解决方式。但是仅仅两行代码的修改,而且不指明为止,谁都不知道放在哪个地方。更关键是我对微信支付并不怎么熟悉,仅知道功能支付。所以即使看了许多的博客文档,也尝试了几种是实现方式也无法找到解决方案。最后觉得时间紧迫,找项目经理寻求解决之道。
项目经理忙完手中的事情就开始解决这个问题,待解决之后,再叫我进行测试。当我翻代码,查看修改点时,发现与官方提示修改的地方完全不一样。针对这个问题找他询问解决思路时,他并没有第一时间给我说如何解决的,而是问我知道XXE漏洞不。我说简单了解过。然后他就将说到:XXE漏洞攻击,是一种网络请求的攻击方式,利用请求的数据,在解析时访问外网,从而运行自己的脚本,到获请求服务器上文件信息的一种攻击方式。因为文本是XML格式的,只要破坏一个结构,那文档就不能正常生效。系统给出了标准式解决方案,而我们用了暴力式。
为什么不用标准式呢,因为我们的项目处于低级版本,标准式用法比在当前项目中并不适用,同时也可能是解决人想偷懒。一个简单方法就能解决的问题,没必要去整理以前的思路,再原来基础上修改。不管怎么说,都是洞察了这种攻击方式,在源头解决。而自己当时一直徘徊在外,是因为忽视了问题本身,而过早的寻求解决之道,并没有发现其实一段不起眼的代码就能完美解决当前问题。
诚然,按照官方方式解决问题最优解决方式,但如果自己洞彻问题本身,用自己的方式解决,那针对自己就是最好的解决之道。