*本文作者:DingdangCat
昨天早上在一个群里接到某网站主的帮助请求。 网站主的描述是这样的:
1.用的是虚拟主机,某机屋的ASP/PHP全能虚机。
2.百度其网站首页打开会跳转到一个博彩网站。
3.浏览器直接访问首页不会跳转;除了360搜索外,从其他搜索引擎进入都会跳转到博彩网站。
4.从搜索引擎访问网站其他页面不会跳转。
5.网站主只用PHP程序,不用ASP。
6.网站主之前用的是Wordpress程序,发现首页有跳转问题之后整站迁移到了Zblog程序上。
7.迁移之后首页还是会跳转。
8.给百度投诉过,百度回复是网站主的网站源码的问题。
9.给某机屋提交过工单,某机屋表示没有任何安全问题。
10.网站主自己觉得是JS跳转的,找了半天也没找到是哪跳转的。
网站主给我提供了他在某机屋的帐号密码,FTP密码,Mysql密码。当然早上我还在上课,没法给他弄。
等中午吃完饭回到宿舍我看了下,网站主说的没错,就是会跳转到一个博彩网站。
从百度点开他的首页,会跳转到网站主的首页,之后就跳转到http://jc21.seoxiangbo.com/ys.php(没啥需要隐藏的,像这种网址就该放出来让大家都防着点)
#另外说明一点,SEO香波是我自己取的名字,来源就是上面这个域名,一看就知道恶作剧者是个懂中文的人。
后来我查了下seoxiangbo.com的whois信息,发现是确实是个国人。
根据联系人和邮箱whois反查发现域名数量不是一样多。看来是属于干多了的那种,批量作案的。
这是邮箱反查的结果
这是联系人反查的结果
好了。现在发现这不是一个人,或者是一个人使用了不同身份。有不同姓名,不同注册商,不同邮箱。
我先偷懒使用360网站安全网页版扫一下,提示没啥大问题,给了95分。
我打开网站主的FTP,目录如下:
这是我今天截图的,显示10.31号修改了文件是我昨天修改的。
我发现sitemap.html里面有插入的广告,这是网站主Zblog用的sitemap插件生成的。于是我也看了看sitemap.xml sitemaps.xml。当然我把广告给删了。
就是这个插件插的小广告:
果断删了。
我进入wp-content文件夹,发现里面的东西还是wordpress的,一个也没删
我留了uploads目录,其他的都删了,因为他的站点还有一些图片是存在这里的。我进去看了,里面只有png,jpg图片。
之后进了Zblog的主题文件夹,看了他的主题,没发现啥问题
在zblog的上传目录下也只发现了png,jpg图片
当然,根目录底下的index.php我也看了,没啥毛病。
我想,只出现在首页可能是加载首页时候从数据库里取出的。首页有永远不变,每次都加载的那些元素嘛。
我进入网站主的phpmyadmin,备份了所有数据。然后把wp-开头的表都删了,访问一下,没出啥问题,看来是多余的。
我进入zblog的留言表,发现了攻击者留下的东西
嗯。一个是sql注入,一个还想试试直接执行命令。谁知道注入成功了没,反正最坏的结果就是这整台服务器都遭殃了。
不管他成功了没,先把这两人的恶意留言删了。我好奇的看了下他们的IP,大多来自南京,而且用的是不同的IP。大概是一群肉鸡吧。
在post表中我发现他数据库中存的html标签直接能在前端运行,这真的好吗,Zblog作者?
既然发现这个问题,我就只能把数据库导出搜一下有没有<iframe>或者<script>标签了,也没发现javascript语句。搜完发现没有问题。
我试了试,还是老样子。还是会跳转到博彩网站。
换一下思路吧。
看看HTTP头好了。
我打开百度,点开他的网站。用浏览器插件看了看HTTP头。
唔,怎么是ASP.NET响应的302跳转?
还IIS8.5。
结合网站主描述的除了360搜索之外其他搜索引擎都会出问题的说法我试了试360的。发现它是直接打开的,没有跳转,这和百度啥的很不一样好嘛。
举个例子:
在百度搜索百度,发现<a>标签里不是https://www.baidu.com 而是
这么一长串东西,也就是他自己弄了个跳转,里面带了我从哪里来我要到哪里去的信息。跳转之后会有Referer信息。
360搜索呢,挺直接,<a>标签里面直接就是https://www.baidu.com还加了rel=noreferer属性,怪不得没Referer信息了
其他会跳转到博彩网站的搜索引擎也和百度一样会带个Referer。这样一分析,就是这个ASP病毒只要一碰到HTTP头带Referer的,就302跳转到博彩网站。
为了找出这个ASP病毒。我备份了整站。之后在某机屋后台直接清空了这个站点。打开首页发现不能访问。403,是IIS8响应的。这挺正常的。我又从百度进了下首页,发现,还是会跳转到博彩网站。这可就不是网站主的源码的问题了。都删光了还跳转。这肯定是某机屋的机子被人搞坏了。想想之前某机屋说没发现任何安全问题,唔,反正我是不用他们的产品。我从备份恢复了网站主的网站。
如何解决这个问题呢?想想,恶作剧的人是咋办的,这肯定是获取了Referer啊。那么,IIS肯定开了Referer变量。
我打开网站主的FTP,看了下web.config 里面已经有写好的Rewrite代码,那确实是支持Rewrite的。这样我就可以写一条Rewrite规则了,意思就是:只要有Referer就给重写到本站。
代码如下:Zblog自带的那些规则我就不重复发在这里了。
<?xml version="1.0" encoding="UTF-8"?><configuration> <system.webServer> <rewrite> <rules> <rule name="RequestBlockingRule1" enabled="true" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_REFERER}" pattern="^http://(.*\.)?(abc\.com)/.*$" negate="true" /> </conditions> <action type="Rewrite" url="/{R:0}" /> </rule> </rules> </rewrite> </system.webServer></configuration>
试了一下,果然没问题。再也不跳转到博彩网站了。
至此,SEO香波就不起作用了,或者说它的其他作用还没发现。当然,也没有清除这个东西。只是让网站恢复正常了。同时网站主也给了200块,小站长嘛,这样挺好了。
最后我还建议他某机屋虚机到期之后用大厂商的虚机,比如某里云的。我也建议他使用第三方评论框。用WAF产品。