码迷,mamicode.com
首页 > 其他好文 > 详细

WordPress < 4.1.2 存储型XSS漏洞

时间:2015-04-28 16:13:05      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

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=&#8220;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也能截断= =。。。。。。。所以这篇文章提交了之后不能编辑。。。。目测影响还是挺广的。

WordPress < 4.1.2 存储型XSS漏洞

标签:

原文地址:http://blog.csdn.net/u011721501/article/details/45336045

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!