标签:
最近几天爆出来的,今天才看。网上的分析也有很多了估计,我也发一篇好了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也能截断= =。。。。。。。所以这篇文章提交了之后不能编辑。。。。目测影响还是挺广的。
标签:
原文地址:http://blog.csdn.net/u011721501/article/details/45336045