扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
最近也不知道怎么回事,我们自己的网站没有被黑,反倒是认识的一些朋友的网站被黑,要么是报复性攻击要么就是为了实现自己的经济利益;比如挂赌博网站的马,恶意使得网站跳转到非法网站,真是多事之秋。
事件背景
一个跟我关系很不错的朋友,也是我的老乡,今天上午跟我说他的网站中有一个会员在QQ上联系他,威胁他不让解封网站账号就有不良后果,诸如说什么去工信部举报之类的。而他的网站是资源下载类网站,现在日IP近万,也有不错的收益,而且在国内只要是资源下载类网站或多或少都有些问题,比如有的资源可能涉及侵权之类的。他自己还是挺担心的,担心真的被举报,即便他网站不存在什么严重违法问题,但有时候多一事不如少一事,就像我的网站当初因为会员发布一篇关于微软的文章被发律师函但没有注意,结果域名被hlod了。
但是没想到,还没等到那个人上午的威胁到来,结果现实的威胁却人了。中午的时候他就跟我说网站被攻击了,访问网站后15s后跳转到某色情网站。而他一个以运营见长,技术是他短板的人,却很快找到根目录下的index.php文件开头被插入恶意跳转代码。很显然,事情没有这么简单,就算他把其中的恶意代码删除,攻击者还是可以继续攻击,因为根源压根就不在这个地方。
而他的网站就是基于Discuz创建的,基本上就是Discuz本身的状态,也就是说就算站点存在漏洞也不是他创造了这样的漏洞。基于这个时间点,他非常怀疑该事件与上午那个威胁者有关,但一时也不知道如何从根本上处理该问题。
问题处理
我首先要他做一个基本的验证操作,就是比对网站web程序看下近期是否被篡改,结果得到的反馈是并没有。然后,他跟我说他的阿里云后台里边有提示网站受攻击,但对于他自己也不知道如何分辨,因为很多被提示的攻击其实对网站是不存在影响的,比如很多针对某些开源编辑器的攻击,但他的网站压根没有使用,这样的攻击再多也不会被攻破的,最多变成dos攻击了,呵呵。我问了他几个上面提示的细节,比如要他注意有chr方法的地方,但看了之后还是觉得不是该事件的问题。
然后我干脆问他要了阿里云的账号,处于对我的信任他毫不犹豫给我了,我进入阿里云后台,因为我之前就利用阿里云提供的安全监控工具快速定位攻击事件,这比自己另外去找效率高得多。结果在“弱点”(其实就是漏洞)这个提示项中发现连续好几个高危提示,都是“fastcgi 代码执行漏洞”。
那这是一个什么漏洞呢?据了解该漏洞一般不是web程序引起的,而一般是由于web服务器配置不当引起的,比如nginx、iis等;该漏洞会使得一些不安全的文件被当做可执行的文件执行。非常典型的就是在图片中植入攻击代码,然后上传该图片到服务器,再利用该漏洞执行图片中的攻击代码。下面的图片就是验证该漏洞的,在根目录下robots.txt是搜索引擎协议文件,显然是正常的,但是加上/x.php访问安全状态是不能够被访问的,但他这里可以直接被访问,这漏洞表现得一览无余。
我于是要他给我一个有上传图片权限的网站账号给我来测试,说到这里;他又跟我补充了一个细节:那就是上午那个威胁他的人对应的账号,从注册开始除了传图片外啥都没做。到了这里我越发感觉问题就是在这个地方。
我在本地制作一个带有一句话php执行木马的图片,用cmd命令行合并一个jpg图片和一个写有一句话木马的php文件。
然后利用他给我的用户账户上传文件(其实他的网站任意注册用户都有上传图片权限),结果这张带有木马的图片顺利上传到网站服务器中;这张图片很明显是带有木马的,这不用再看了。这时候我要他提供一张攻击者账户上传的图片给我。结果是一张这样的图片:
呵呵,你丫是表情包呢,结果他说那个人传的都是类似这种风格的,尼玛,我也是醉了。用16进制查看器打开该文件,结果几乎让我可以完全确定该攻击源于此了:
可以非常明显得看到在结尾有一段非常明显的代码,而此代码之前应该才是正常图片的编码。到了这里真相就出来了,这是一个非常典型的一句话木马。
结语
该漏洞在阿里云官方有两种解决方案的(阿里云官方解决方案),除此之外我们可以升级web服务器版本至安全版本等等。实际上上面的过程仅此这个漏洞攻击者还是不能够实现攻击目标,比如如果不给他传图片也就不能在图片中插入代码并上传到服务器。所以攻与防总是一环扣一环的。不管对于攻击者还是防护者都是有较高要求的,对于攻击者而言,可以利用的破绽中缺少某个环节就是功亏一篑;而对于防护者而言,需要尽可能避免漏洞的出现,哪怕对于该漏洞本身来讲并不是什么高危漏洞,但依然可能被利用。
这里也不得不赞一下阿里云,我之所以赞它并不仅仅是因为上述过程中使用了它提供的安全监控工具。而是在这个过程中,其实我做了一个逆向的攻击重现,也就是重现一遍攻击过程(当然该过程相对攻击者攻击过程轻松许多,呵呵),在这个过程中实践了除该攻击流程本身之外的过程。比如直接把木马上传到服务器做基础攻击测试,这个地方就是我要赞阿里云的,木马文件刚上传,邮件马上就到来。
虽然该测试木马是非常容易被识别的,但我要赞的是阿里云的这个通知速度,绝对杠杠的。这不是打广告,使用阿里云产品几年了,确实相对以前省了不少事情或者提高了不少事情的处理效率,比如我们这边文章所讲的。
最后想说的是,没有绝对的安全体系,要做的是最大可能避免不良事件的发生,最重要的是有防范于未然的安全意识!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流