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...