漏洞概要
关注数(24)
关注此漏洞
漏洞标题:记事狗过滤不严导致存储型XSS
提交时间:2014-05-26 11:56
修复时间:2014-08-24 11:58
公开时间:2014-08-24 11:58
漏洞类型:xss跨站脚本攻击
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2014-05-26: 细节已通知厂商并且等待厂商处理中
2014-05-27: 厂商已经确认,细节仅向厂商公开
2014-05-30: 细节向第三方安全合作伙伴开放
2014-07-21: 细节向核心白帽子及相关领域专家公开
2014-07-31: 细节向普通白帽子公开
2014-08-10: 细节向实习白帽子公开
2014-08-24: 细节向公众公开
简要描述:
记事狗某函数过滤不严导致的存储型XSS
因为太多奇艳的绕过方式了
详细说明:
问题出于 /jishigou/modules/ajax/event.mod.php 的 create()函数 (创建活动的函数)
这里直接贴完整个函数的代码
$post 即代表 $_POST
全部变量都有经过 jpost的处理 (进行htmlspecialchars, strip_tag)
唯有 $f_rets 变量只进行了filter函数的处理 ($_POST['content1'])
filter函数我们来看看~
由于代码太长我就不贴了
filter 函数主要是过滤了 <script><iframe><style><link><meta> 的HTML标签
过后又调用了 remove_xss 函数来进行过滤
remove_xss把javascript, vbscript, meta, script, object, iframe, frame, frameset, base等HTML标签给过滤掉了
而且还把全部的 onerror之类的东西给过滤了
但总还是有办法的,我来贴出POC (感觉我在长篇大论)
对 http://localhost/jishigou/ajax.php?mod=event&code=create 发出POST请求
fromt 是开始日期
hour_select_from 是开始日期的小时
min_select_from 是开始日期的分钟,其他不用说了吧
content1 我设置成了 <EMBED SRC="http://localhost/aaa.html" type="image/svg+xml"></EMBED>
SRC需放你的平台的个HTML文件...
http://localhost/aaa.html的源码是
漏洞证明:
GOOGLE CHROME和IE触发,但是FIREFOX没触发
修复方案:
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:5
确认时间:2014-05-27 16:59
厂商回复:
非常感谢 BadCat@乌云 的反馈
最新状态:
暂无