360安全扫描之WordPress 页面异常导致本地路径泄漏 的漏洞修补

今天头脑一热到360安全检测那里去为自己的网站进行安全扫描了一番。上次扫描还是一年前,当初扫描一个网站是 94 分,那时候还不懂代码,就这么挂着,被360 公开着。今天的扫描发现了两个漏洞,评分 91 。为了光鲜的 100 ,Jeff决定今个儿决定要解决了这些漏洞。

主题 index.php 文件的页面异常导致本地路径泄漏的漏洞修补

其中一个漏洞是页面异常导致本地路径泄漏,就是打开 http://域名/wp-content/themes/主题/ 这个路径会跳出个错误提示,然后这个提示就会泄露你的服务器路径。

如下面提示文字:

Fatal error: Call to undefined function get_header() in /网站根路径/XXX/wp-content/themes/主题/ on line 1

如图:

解决方法:

WordPress 话一般都是架设在 PHP+Apache 服务器上,可以通过修改php脚本、配置php.ini以及httpd.conf中的配置项来禁止显示错误信息。

1、修改php.ini中的配置行: display_errors = off 2、修改httpd.conf/apache2.conf中的配置行: php_flag display_errors off 3、修改php脚本,增加代码行: ini_set(‘display_errors’, false);

不过的话虚拟主机就没有这个份了,唉,谁叫咱寄人篱下呢?咱有资本了一定买个独立的VPS,哼!

上面不能修改的话,对于WordPress ,可以采用以下代码屏蔽错误信息的显示。在主题目录下的 index.php 文件最开头加入以下代码:

<?php error_reporting(0); ?>

高级一点可以这样,实现的功能是访问http://域名/wp-content/themes/主题/ 这个路径自动跳转到首页:

<?php ini_set('display_errors', 0); ?> <?php if (function_exists('get_header')) { get_header(); }else{ header("Location: http://" . $_SERVER['HTTP_HOST'] . ""); exit; }; ?>

7.24更新:衡天主机的蓝冰大哥给我带来了另外一种方法:

在 wp-content/themes 中设置 .htaccess 代码,代码如下:

deny from all <FilesMatch "\.(ico|pdf|jpg|jpeg|png|gif|swf|css|js|zip|rar|txt|woff)$"> Allow from All </FilesMatch>

表示只允许列表中的文件类型访问,其他的不能访问,如PHP。

其他文件的页面异常导致本地路径泄漏的漏洞修补

如果使用WordPress ,可能会有其他文件也会报为漏洞,比如

/wp-includes/user.php

除了方法如上面一样,通过修改php脚本、配置php.ini以及httpd.conf中的配置项是一劳永逸,也可以在该php文件最开头前加入:

<?php error_reporting(0); ?>

晒图

解决后Jeff 用360 的重新扫描,呵呵,100 分了,晒一下:

虽然网站安全问题还可能存在,虽然说360 流氓不可信,但老实说人家做得确实不错。

WordPress 安全性就是好,至少比asp 的网站程序强多了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何从Django应用程序发送Web推送通知

网络不断发展,现在可以实现以前只能在本机移动设备上使用的功能。JavaScript 服务工作者的引入为Web提供了新的功能,可以执行后台同步,脱机缓存和发送推送...

68760
来自专栏互扯程序

跨域请求方案 终极版

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

44030
来自专栏大数据钻研

HTML meta标签总结与属性使用介绍

之前学习前端中,对meta标签的了解仅仅只是这一句。 <metacharset="UTF-8"> 但是打开任意的网站,其head标签内都有一列的meta标签。比...

34760
来自专栏君赏技术博客

我和flow.ci的第一次亲密接触

这不是第一次听说flow.ci,记得当时fir.im新出这个服务的时候,我也是心情十分激动的去尝试,结果是只支持安卓,我可以iOS的程序员呀!

11010
来自专栏Flutter入门到实战

Flutter从配置安装到填坑指南详解

在 Google I/O ’17 上,Google 向我们介绍了 Flutter —— 一款新的用于创建移动应用的开源库。

3K50
来自专栏魏艾斯博客www.vpsss.net

宝塔 Linux 面板 4.X 版本安装教程

35640
来自专栏做全栈攻城狮

采用React+Ant Design组件化开发前端界面(一)

注意:在webpack.config.dev.js添加的配置部分,也需要在webpack.config.prod.js中做相同的配置。否则可能导致项目发布上线后...

13220
来自专栏乐百川的学习频道

配置和美化OpenSuse Tumbleweed

在我的前一篇文章在虚拟机安装OpenSuse Tumbleweed中,介绍了如何在虚拟机中安装OpenSuse Tumbleweed。但是虚拟机上面并不过瘾,正...

40790
来自专栏Debian社区

MX Linux 17 Beta 1 发布,基于 Debian 的发行版

MX Linux 是基于 Debian 稳定分支的面向桌面的 Linux 发行,它是 antiX 及早先的 MEPIS Linux 社区合作的产物。它采用 Xf...

5910
来自专栏FreeBuf

鲶鱼CMS存储XSS漏洞披露

概述 Catfish(鲶鱼) CMS是一款开源的PHP内容管理系统。这个cms是十月我和学长小胡子一起审计的。所以在这里声明下,洞是他找的,他不善言辞,授权给我...

25370

扫码关注云+社区

领取腾讯云代金券