最近,我的共享主机 Linux 服务器遭到黑客攻击(大约安装了 25 个 WordPress,恶意代码遍布各处),我开始查看访问日志文件,看看我的流量来自哪里(希望缩小入口点范围) ,运气极小)。
我不断看到可以验证推荐人不存在的条目。例如:
103.47.135.111 - - [19/Apr/2016:01:14:53 -0600] "GET /wp-content/themes/wallstreet/style.css?ver=4.5 HTTP/1.1" 200 12562 "http://my_domain.com/yqmmfkv/Cara-pdkt-sama-cewek-lewat-hp.htm" "Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53"
引荐人(http://my_domain.com/yqmmfkv/Cara-pdkt-sama-cewek-lewat-hp.htm)据我所知不存在。它返回 404,没有提到它使用grep -r "yqmmfkv"
,并且似乎不存在于我的 WP 数据库中。 style.css 文件确实存在,所以我明白为什么它返回 200,但是不存在的页面怎么会请求它呢?
此外,欺骗推荐人可以获得什么好处?
答案1
我们似乎都感染了同一种病毒。如果您使用反恶意软件删除插件,它会删除病毒安装了一堆内容(色情、链接、图像、视频、音频文件等)的 /yqmmfkv 目录,它还会创建一堆 html 文件,其代码可能是将您的域名记录到外部站点,以及其他一些恶意的 base64 编码的 php,在我的例子中是一个可怕的小 support.php 文件。
扫描发起者 IP 地址http://whatismyipaddress.com/ip/103.47.135.111会告诉你请求来自印度尼西亚的某个地方 - 如果这不是你(我怀疑不是),这只是意味着他们正在欺骗 http 标头中的 http_referer 。
最初,当病毒出现在您的服务器上时,它可能存储了一些信息,包括远程 style.css 的路径 - 因此是 200,并且使用它来“ping”测试您的站点,或者它可能在这些信息中安装了一些恶意代码以前的文件。
我所做的只是检测请求中的文件模式并禁止通过我的 .htaccess 文件访问它:
RewriteCond %{HTTP_REFERER} .*yqmmfkv [NC] #checks for requests containing that path
RewriteRule .* - [F]
这将停止日志中的 200 个条目,并通过 403 禁止正确阻止请求。希望攻击者最终不会将带宽浪费在被阻止的请求上——对我来说,请求花了一天时间才停止。它还将帮助您被谷歌 SEO 降级 - 尽管他们可能已经足够聪明来识别此类攻击。
值得关注的是将流量转移回发起者 - 不像它们欺骗您自己的域那样适用。并阻止来自特定黑名单 IP 的请求 - 这是一篇很棒的文章: https://raventools.com/blog/stop-referrer-spam/
后者都不是万无一失的,因为 IP 很容易被更改。
为什么要欺骗推荐人?可能是为了解决文件夹权限问题。安装病毒后,它可能会将您网站文件和文件夹的访问权限更改为 775,从而允许来自您的 apache Web 组(例如 www-data)的流量。
您不应该面临任何直接的风险,但看起来您已被添加到某个列表中,该列表只会不断向您发出请求,直到它们感到无聊或关闭。