漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-060312
漏洞标题:StartBBS v1.1.5存储型xss
相关厂商:startbbs.com
漏洞作者: phith0n
提交时间:2014-05-12 22:53
修复时间:2014-08-07 22:54
公开时间:2014-08-07 22:54
漏洞类型:xss跨站脚本攻击
危害等级:中
自评Rank:8
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-05-12: 细节已通知厂商并且等待厂商处理中
2014-05-17: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-07-11: 细节向核心白帽子及相关领域专家公开
2014-07-21: 细节向普通白帽子公开
2014-07-31: 细节向实习白帽子公开
2014-08-07: 细节向公众公开
简要描述:
存储型xss。
详细说明:
用户资料修改处,可以填写用户网站。
一般填写url的地方容易出现xss,很多人忽略。
观察代码,app/controllers/settings.php 36行
先调用strip_tags去除html标签,再调用prep_url处理。prep_url函数如下:
我们如果使用伪协议的xss,如<a href="javascript:alert(1)">aaa</a>,我们填入的url就是javascript:alert(1),不会被strip_tags过滤。
但这个函数看起来似乎在前面加了http://,实际上$url['scheme']是javascript,!isset()并不成立,所以没有进入下面那个if语句。
有了这些理论基础,所以我们就可以开始插了。
漏洞证明:
url在数据库中长度只有50,比较短。但因为StartBBS用了Jquery,所以可以调用Jquery的getScript方法来加载远程js:
其他用户(甚至管理员)访问你的资料,并点击你的网址以后触发:
ps. 真的有这么傻的人会点这么奇怪的链接吗?那我就不知道了。。。
xss平台已经收到cookie:
修复方案:
正则判断:^(http|https):.*
版权声明:转载请注明来源 phith0n@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2014-08-07 22:54
厂商回复:
最新状态:
暂无