WordPress 4 0以下版本存在跨站指令碼漏洞

2022-09-24 00:54:15 字數 1688 閱讀 3496

wordpress是著名的開源cms(內容管理)系統。近日,在4.0版本以下的wordpress被發現存在跨站指令碼漏洞(xss),新版本的wordpress已經修復了這些問題。為了安全起見,建議站長們盡早更新到wp新版本。

該漏洞是由芬蘭it公司klikki oy的ceo jouko pynnonen發現的,只存在於wordpress4.0以下的版本中。據調查得知全球有86%的wordpress**都感染了這一漏洞,也就意味著全球數百萬的**都存在著潛在的危險。一些知名**也使用了wordpress軟體,如time、ups、nbc sports、cnn、techcrunch 和freebuf:)

漏洞概述

wordpress中存在一系列的跨站指令碼漏洞,攻擊者利用跨站指令碼偽造請求以欺騙使用者更改登入密碼,或者盜取管理員許可權。

如jouko pynnonen解釋道:

當部落格管理員檢視評論時,評論中的漏洞**會自動在其web瀏覽器上執行。然後惡意**會偷偷接管管理員賬戶,從而執行管理員操作。為了證明他們的觀點,研究人員建立了乙個漏洞利用程式(exploits)。利用這個exploits,他們建立了乙個新的wordpress管理員賬戶,改變了當前管理員密碼,並在伺服器上執行了攻擊php**。

漏洞分析

問題出在wordpress的留言處,通常情況下留言是允許一些html標籤的,比如、、等等,然而標籤中有一些屬性是在白名單裡的,比如標籤允許href屬性,但是onmouseover屬性是不允許的。

但是在乙個字串格式化函式wptexturize()上出現了問題,這個函式會在每乙個留言上執行,函式的功能是把當前的字元轉義成html實體,比如把「」轉義為「」。為了防止干擾html格式,wptexturize()首先會以html標籤為標準把文字分成若干段,除了html標籤,還有方括號標籤比如[code]。分割的功能是由下列正規表示式完成的。

在wp-includes/formatting.php**的第156行:

$textarr = preg_split('/(<.>|\[.*\])/us', $text, -1,

preg_split_delim_capture);但是如果文章中混合著尖括號<>和方括號會造成轉義混淆,導致部分**沒有轉義。

攻擊者可以通過這個漏洞在允許的html標籤中注入樣式引數形成xss攻擊,比如通過建立乙個透明的標籤覆蓋視窗,捕捉onmouseover事件。

漏洞利用測試

以下**可以用於測試

[[" not vulnerable]修復建議

這一漏洞很容易被攻擊者利用,wordpress官方建議使用者盡快更新補丁,而在新版wordpress 4.0.1已經修復了所有的漏洞。

wordpress官方於11月20日發布了官方補丁,目前大多數的wordpress**上都會收到補丁更新提醒通知;如果有一些其他原因使得你無法更新補丁,klikki oy公司還提供了另外乙個解決方案(workaround)可以修復該漏洞。

wptexturize可以通過在wp-includes/formatting.php開頭增加乙個返回引數避免這個問題

function wptexturize($text) {

return $text; // add this line

global $wp_cockneyreplace;額外提醒

如果你使用的是wp-statistics wordpress外掛程式,你也應該更新補丁。因為這些外掛程式上也存在跨站指令碼漏洞,攻擊者同樣可以實施攻擊。

HTML標籤詳解 4 0即以下

html標籤很多,可是實際上常用的卻就那麼十幾二十個,很多標籤的功能漸漸的被大家忽略了.然後,如果在適當的時候,用一用,還是能在一定程式上給我們的頁面設計帶來一點小小的方便的.下面這些html標籤基本上包含了所有現有的標籤,花幾分鐘,一一瀏覽一下,或許還會小有收穫 一些不再被推薦的標籤 以下的元素主...

40個WordPress安全外掛程式

用wordpress安全外掛程式,你可以新增各種型別的安全功能,這將有助於保持你的wordpress 安全。本文為您介紹了選項,並簡要介紹你需要知道作為乙個wordpress站長關注的領域。保持乙個 的安全性是不是乙個簡單的任務。這並不是說wordpress的本身是不安全的,但數以百萬計的 在那裡 ...

wordpress修改固定鏈結後出現404錯誤

今天搭建完本 之後,也設定好了選單欄,就在龍哥欣喜的開啟 首頁,卻發現所以的頁面都出現了404頁面。然而龍哥一點都不慌,出現404是因為我們的 伺服器沒有設定偽靜態化。首先跟大家介紹一下為什麼要進行偽靜態,url靜態化是我們做seo的乙個很重要的知識點,動態網頁通常指頁面字尾名不是 html 或 h...