小编好不容易从学校回来本以为可以舒舒服服的上上网玩玩游戏,可惜刚坐到电脑前就有一位客户来反映定制的 WordPress 网站出现泄露绝对路径的漏洞。当时小编就震惊了。。因为这个客户是一个电脑白痴,怎么可能发现的了网站有漏洞呢?仔细一问才知道客户用 360 站长工具检测网站漏洞。。。。
漏洞类型:网站绝对路径泄露
漏洞文件:
1 、/wp-includes/registration-functions.php
2 、/wp-includes/user.php
3 、/wp-admin/admin-functions.php
4 、/wp-admin/upgrade-functions.php
5 、/wp-content/themes/wxd_qiyecms7/index.php
经过小编一个小时的测试,发现任何版本的 WordPress 都存在这个漏洞 (算是通杀漏洞了),只要直接访问以上文件或者访问当前 WordPress 网站的主题目录都会爆出网站的绝对路径,就连 WordPress 官方的主题 twentytwelve 也不例外。虽然爆路径的利用价值不大但是但是如果你某些页面存在注入的话,可以直接通过绝对路径上传任意文件,相当于把菊花暴露给 XX 爱好者一个性质。。后果不堪设想啊。
解决方法一、在以上文件的的头部 <?php 后加入:
error_reporting(0);
解决方法二、找到/wp-includes/registration-functions.php 文件将代码:
<?php /** * Deprecated. No longer needed. * * @package WordPress */ _deprecated_file( basename(__FILE__), '2.1', null, __( 'This file no longer needs to be included.' ) );
改成:
<?php /** * Deprecated. No longer needed. * * @package WordPress */ @_deprecated_file( basename(__FILE__), 』2.1′, null, __( 』This file no longer needs to be included.』 ) );
解决方法三、直接修改 php.ini 屏蔽 php 报错。