Wordpress < 4.1.2 存储型XSS分析与稳定POC

没穿底裤 2020年1月1日02:35:35评论372 views字数 686阅读2分17秒阅读模式
摘要

from:http://www.leavesongs.com/HTML/wordpress-4-1-stored-xss.htmlWordpress这个XSS实际上是很好用的,匿名用户即可发表并触发,这里给出简单的分析与稳定的好触发的POC。

from:http://www.leavesongs.com/HTML/wordpress-4-1-stored-xss.html

Wordpress这个XSS实际上是很好用的,匿名用户即可发表并触发,这里给出简单的分析与稳定的好触发的POC。

其实漏洞的作者已经在文章(https://cedricvb.be/post/wordpress-stored-xss-vulnerability-4-1-2/)里说明了,但文章给的Payload不知道为何在我的测试wp中不能触发。

这个漏洞的原理很有意思,由MYSQL的一个特性导致,当我们将一个4字节的UTF8字符插入mysql时,mysql将会视之为utf8mb4编码,当将utf8mb4编码的字符插入到UTF8编码的列中,在非strict mode下就会造成一个截断。

截断的话,就能绕过很多富文本过滤器了。比如,插入两个评论“<img src=1”,和“onerror=alert(1)// ”,这二者都不会触发某些富文本过滤器(因为前者并不含有白名单外的属性,后者并不是一个标签),但两个评论如果存在于同一个页面,就会拼接成一个完整的HTML标签,触发onerror事件。

虽然wordpress并不是适用上述的方法,但研究者很快找到了新方法。在截断后,wordpress会将单引号转换成&#8220;,于是如果我们提交的评论是这样的话:

真是日了狗了~

大家直接去http://www.leavesongs.com/HTML/wordpress-4-1-stored-xss.html看吧~由于是utf-8的mysql...晚些来处理

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
没穿底裤
  • 本文由 发表于 2020年1月1日02:35:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Wordpress < 4.1.2 存储型XSS分析与稳定POChttps://cn-sec.com/archives/76298.html

发表评论

匿名网友 填写信息