wordpress主题dmeng存在XSS跨站

由于某编辑辛苦弄了一套主题。然后被某墨盒测试出来一个XSS漏洞。然后就丢给我。让我看看这个漏洞能不能修复。
首先找到问题所在,是在发送私信的地方存在对参数每一过滤好造成的。读取的时候也是没有处理。直接给打印出来了。
首先找到问题所在文件
themes\dmeng2.0\author.php 86行左右

可以看出来$get_pm在整个流程中并没有被转码或者其他的操作。直接带入数据库并显示出来了。所以,发信的内容为我们精心构造的XSS代码。就再你查看私信的时候就触发了。如果发信给管理员呢..
10
我们继续看下add_dmeng_message函数
在文件dmeng2.0\inc\message.php

在后台也有一个显示的

后来看到作者在群里面说修改的脚本
97行

自己本地测试了下

xss
针对作者自己写的过滤,小小的突破了下。本地测试效果还是不错的
xss
感觉这样的修复,实在是。简单的写了一个过滤$get_pm = htmlspecialchars(addslashes(stripSlashes($get_pm)));

这里的过滤呐。还是不变化吧

最新号外:后来作者使用了wp自带的过滤函数wp_strip_all_tags来过滤了。详情关注
wp-includes\formatting.php

因此,当然,我个人比较喜欢记录出来全部的东西。这里是采用了替换的方式。个人喜好不一样而已。这里告一个段落…

原文链接:,转发请注明来源!

发表评论

要发表评论,您必须先登录