当前位置:首页 > 电脑常识 > 正文

WordPress插件Jetpack存储型XSS缝隙道理分析及复现 8090安适门户

11-20 电脑常识

五月底,WordPress母公司Automattic颁布了插件Jetpack 4.0.3版本,在这个官方的WordPress论坛插件的版本中,修复了一个威胁水平较高的存储型XSS缝隙,小于4.0.3的版本城市被影响

本文通过尝试复现了这个XSS缝隙,并分析其道理,不敷之处,请大神指导。

配景介绍

5月12日:Sucuri安适团队向Jetpack的打点者呈报了该缝隙;

5月26日:Jetpack 4.0.3修复版本颁布,并已解决该问题;

5月27日:Sucuri安适团队颁布缝隙细节。

该缝隙是一个存储型XSS缝隙,打击者可以操作缝隙在Web平台中植入恶意代码,而恶意代码会被存储于后台或数据库中,随后其他用户访谒受影响页面时,便会执行打击者植入的恶意代码,从而实现XSS打击。

该XSS 缝隙存在于插件的短代码(shortcode Embeds)模块中

WordPress Shortcode是指一些使用“[]”包罗的短代码,例如”[vimeo123]”,而Jetpack的shortcode模块能够将[vimeo 123]替换成此外一个链接,创建了一个嵌套链接的HTML布局。 WordPress会识别这些短代码并按照短代码的界说输出为特定的内容,简单易用,成果强大。

Jetpack插件中短代码模块介绍如下:

开启Jetpack插件Shortcode Embeds模块的用户会受该缝隙影响。打击者通过插件的shortcode模块,可在论坛文章评论中存储恶意代码。而这些评论会被存在到数据库中,如果Jetpack shortcode模块处于激活状态,后面浏览该评论的访谒者会自动执行该恶意代码,这可导致打点员账户被打击者劫持,注入SEO垃圾邮件到受影响的网页,将访谒者重定向到恶意网站。

尝试复现

XAMPP版本:5.6.15

WordPress版本:4.5.2

Jetpact版本:4.0.2

1. 激活Jetpack的Shortcode Embeds 模块

2. 发表一篇文章

3. 在评论中输入
<a title='[vimeo 123]'><abbr title='onmou搜索引擎优化ver="alert(1338);"'>a7</a>
4.功效

当鼠标进过评论时,呈现弹窗,XSS验证告成

道理分析

这个缝隙跟WordPress论坛插件bbPress存在存储型XSS很相似,也是由于某些文本被解释为HTML标签后孕育产生。

这个缝隙可以从wordpress的comment_text过滤器开始。用户添加评论,首先进过一些措置惩罚惩罚存储在数据库中,当打开存在评论的页面时,评论先从数据库中取出后,会触发comment_text过滤器,挂载在过滤器上的函数对其进行措置惩罚惩罚,最后显示在页面中。

本尝试顶用到的最主要的挂载在comment_text过滤器上的函数为vimeo_link和wptexturize。


vimeo_link的优先级最高优先执行,vimeo_link具体实现代码如下:


它会通过正则表达式shortcode和plain_url匹配评论中是否有vimeo短代码或链接,正则匹配获取vimeo的id,例如尝试中的123,然后挪用vimeo_link_callback函数


vimeo_link_callback函数检测id是否合法,合法例挪用vimeo_shortcode函数孕育产生对应的vimeo video的html代码。尝试中的vimeo短代码”[vimeo123]“会被解释为:

<div class="embed-vimeo" style="text-align: center;"><iframe src="http://www.8090-sec.com/archives/2791/https:/player.vimeo.com/video/123" width="474" height="267" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>

温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/12539.html

博客主人杰米WWW
杰米博客,为大家提供seo以及it方面技巧喜欢的朋友收藏哦!
  • 11365文章总数
  • 1378073访问次数
  • 建站天数
  •