您的位置:首页 > 其它

WordPress < 4.1.2 存储型XSS漏洞

2015-04-28 15:06 465 查看

WordPress < 4.1.2 存储型XSS漏洞

0x00 原理

最近几天爆出来的,今天才看。网上的分析也有很多了估计,我也发一篇好了233333因为确实很经典,思路很不错。具体的细节看老外写的,请戳:

https://cedricvb.be/post/wordpress-stored-xss-vulnerability-4-1-2

这次主要是Mysql中的UTF-8只支持3个byte,如果需要支持4个byte的编码,则需要使用
utf8mb4
。不开启
strict code
(默认为
Off
)的时候,那么如果存入4byte的时候就会造成截断,有了截断就可以做很多事情了。

比如输入:

ex��it


存入的时候变成(后面的被截断):

ex


在wordpress中,可以使用匿名评论功能,具体的POC有两种形式:


利用截断,使用两条评论拼接POC,但是不是太稳定,依赖当前使用的wordpress的主题。

同样利用截断,但是利用wordpress中处理评论中的引号时,如果有换行,就会把引号转为“



0x01 POC利用转换和截断

提交:

<blockquote cite="x onmouseover=alert(1) ��">


转为:

<blockquote cite=“x onmouseover=alert(1)


可以完美弹窗!

匿名评论可以提交规定的html标签。可以利用前面说的截断,以及引号的转换,最终达到闭合效果:

<acronym title="xxxx  style=display:block;position:fixed;width:100%;height:100%;top:0; onmouseover=alert(1)// ��">


这里POC做了一些处理,使用了style将区域扩大,效果如下:



chrome渲染后的代码:



markdown也能截断= =。。。。。。。所以这篇文章提交了之后不能编辑。。。。目测影响还是挺广的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: