WordPress溯源排查的反思
不懂的问题,先谷歌搜索或询问别人的观点。
关于这一点是讨论的虚拟主机的安全风险。我想到的过于局限,比如我想到的虚拟主机的风险类似于cpanel无法显示隐藏文件这种很小的问题。
而真正的风险在于虚拟主机空间存在多个网络站点,当其他网站被入侵的时候,对当前使用的主机也会有影响,比如旁注之类的攻击。
大胆去尝试,但不要在现网上测试。
对于这次溯源,本来我在之前就发现了主题的Functions.php存在恶意代码。但是当时我在删除这段代码的时候,多移除了一部分网站本来的代码。导致再重新加载之后网站崩溃了。被要求立刻停止尝试,恢复网站。后面就不敢直接在现网上做测试了。
在我看来,原本只要多试几次就能直接找到问题所在了。却与成功找到恶意广告代码失之交臂,非常可惜!不然就是我第一时间发现广告代码了。
复现漏洞的时尽可能采用与原网站基本一致的环境。
为什么我搭建的环境复现不了广告弹窗?
虽然在整个排查的过程中,我也自己搭建了WordPress的环境还原了网站。但是我镜像出来的网站,却并不能加载出广告代码(也就是没有出现网站弹广告)。并且整个网站打开的速度非常缓慢。
一番思索后,终于发现了存在的问题。客户的机器是在国外,而我在腾讯云上所使用的机器是在广州,由于国内外网络延迟太高,导致广告代码请求超时。所以每次去请求的时候后端都会响应很久。这也是网站加载非常缓慢的原因。
所以以后在复现漏洞的时候,一定要保证所使用的环境基本一致!不然会在这种看似不重要的问题上浪费大量时间。
平时多复现漏洞,各种网站cms都需要接触。
这次遇到的是wordpress网站问题。至少我这几年用word press还算接触的比较多。对整个网站的结构还有所了解。但是如果换成其他cms又没有接触过,排查起来就更繁琐了。比如知名的discuz,dedecms,phpcms,这些都亲自动手搭建学习,对于各类cms都能整理出相关的漏洞和安全风险。
提升代码审计的能力。
虽然这次我先发现了网站的后门代码,但是在响应速度上还是太慢了。
对于代码审计能力的提升,可以多看看P牛的知识星球和代码审计的相关书籍,并且结合漏洞代码多审计学习。
调整心态,放假期间应急响应工作更是第一优先级。
因为恰好这次应急事件应急事件出现在中秋假期。加上中秋回家了,我各种自己的事情处理。个人心态上,一开始总觉得在放假期间应该是休息和生活。在处理工作上的事情就有所懈怠。导致既没有把工作的事做好,也没有休息好。
以后再遇到同样问题的时候,第一优先级是处理工作。将工作事情处理好后,也能安心的休息。
移花接木,在短时间内从“表面”解决问题。
这是我的一些思考,虽然可能不被认可。因为在处理应急的过程中,时间非常紧急。比如这个网站的广告弹窗,在短时间内没办法快速排查到问题的根源,客户又想赶紧把广告给解决掉怎么办呢?
虽然没办法直接移除掉广告的代码,但我能不能换个思路当广告不弹窗呢?
我在处理这个问题的时候,先去看了广告的js代码。发现在js代码中是通过判断cookie中某个字段的值是否存在来进行弹窗的。我通过向后端代码中直接写入这个cookie的值,当浏览器请求页面的时候,这个值是一直存在的,就不会出现广告弹窗了。很快速地从“表面”解决了问题。
从客户心理角度考虑?
虽然这样从我们的角度,并没有根本上解决问题。但是从客户的角度来看,短时间之内就帮他解决了问题(广告没有了),能得到客户对我们技术上的认可。可以为后续真正解决问题争取更多的时间。
倘若花费了很长时间才从根本上解决了问题。客户对我们的感知可能会觉得技术一般,这样可能费力不讨好。
我个人的思考是把事情做漂亮,这样做事的思路就不会局限,而不是单纯在一个点上花费过多时间。
提升个人表达能力。
虽然这整件事情过程和细节我都非常清楚,能基本讲清楚。但遇到别人提出的一些挑战还没办法cover住。所以这方面的软技能还得多提高一下。
赞赏微信赞赏支付宝赞赏
目前为止有一条评论