歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux業界 >> WordPress曝存儲型XSS漏洞,影響4.2及以下版本

WordPress曝存儲型XSS漏洞,影響4.2及以下版本

日期:2017/2/27 17:30:46   编辑:Linux業界

WordPress官方在4月21日發布了新的版本4.1.2,其中提到修復了一個嚴重的存儲型XSS漏洞。不久之後便有人給出了漏洞的細節。而安全研究團隊Klikki Oy發現在,新版本(<=4.2)的Wordpress中仍然可以利用該漏洞。

XSS漏洞一

這次的XSS漏洞出現在wordpress的留言處,不過問題是由mysql的一個特性引起的。在mysql的utf8字符集中, 一個字符由1~3個字節組成,對於大於3個字節的字符,mysql使用了utf8mb4的形式來存儲。如果我們將一個utf8mb4字符插入到utf8編 碼的列中,那麼在mysql的非strict mode下,他的做法是將後面的內容截斷。

漏洞詳情

利用這一特點,作者發現了wordpress的這個xss漏洞。

WordPress默認是utf8編碼並且沒有開啟strict mode,如果我們加入一條這樣的留言:

<span class="pln">&lt;abbr title='We</span>

這會導致wordpress的頁面布局混亂,如果再插入一條這樣的留言:

<span class="pln">cedric' onmouseover='alert(1)' 
style='position:fixed;top:0;left:0;width:100%;height:100%'</span>

頁面將顯示為這樣:

造成xss漏洞。

POC

作者給出了一個利用的poc:

<span class="pln">sometext
&lt;blockquote cite='x onmouseover=alert(1)</span>


受影響的版本

WordPress4.1.1及其之前版本均受影響,據稱4.1.2版本已經修復了該漏洞。

XSS漏洞二

就在不久之前,安全研究團隊Klikki Oy發現在新版本的wordpress中仍然可以利用該漏洞,漏洞形成的原理是一樣的,利用截斷來造成頁面布局混亂,只不過這次Klikki Oy利用了mysql的另外一個特點。

在wordpress wp_comments表中存儲留言的列為comment_content,他的類型為text。Text最大可以存儲64kb的數據,如果用戶輸入了大 於64kb的數據,mysql的做法依然是將後面的內容截斷,由於wordpress並沒有限制留言內容的長度,所以當我們提交大於64kb的留言內容 時,依然可以造成頁面布局的混亂,形成XSS漏洞。

下面是Klikki Oy團隊給出的POC:

<span class="tag">&lt;a</span><span class="pln"> </span><span class="atn">title</span><span class="pun">=</span><span class="atv">'x onmouseover=alert(unescape(/hello%20world/.source))
style=position:absolute;left:0;top:0;width:5000px;height:5000px
AAAAAAAAAAAA [64 kb] ...'</span><span class="tag">&gt;&lt;/a&gt;</span>

受影響的版本

WordPress 4.2及以下版本均受影響。
原文:http://www.ixsec.org/news/1937.html

Copyright © Linux教程網 All Rights Reserved