关于JarvisOJ新前端的xss漏洞

  • 2016-12-17
  • 1,296
  • 0
  • 1

今天偶然发现了JarvisOJ的个人信息展示页面存在xss漏洞,这个在之前旧的前端里从来没出现过,反而是使用react重写前端之后倒是犯了一个太傻逼的错误。那就是太相信markdown.js了,之前试了script标签,发现可以过滤,就当他可以过滤xss了,其实不然,还有很多其他标签还是会原样输出的。像旧版前端虽然挫是挫了点,但好歹所有不需要富文本的地方我一律escape了html,而在React重构的时候,发现React并不是直接将html注入到子组件对应的地方的,而是也进行了一次escape,所以中文就变成了&#xxxx;这种,实在没办法我才在这些对应的地方进行了unescape才注入,否则escape了2次就无法正常显示中文了。但这种做法还是极其危险的,在开发的时候我就一直担心会不会存在疏漏。

果然百密一疏,在这个地方我误以为markdown.js会帮忙过滤,然后就造成了悲剧。不过还好貌似我是第一个发现的。暂时没有影响到其他人,这件事也给我提了个醒,以后使用第三方库务必小心谨慎,否则还不如自己写来的安全,特别是像这种CTF比赛平台对安全性要求那么高的使用场景。

评论

还没有任何评论,你来说两句吧

发表评论

*

浙ICP备16016405号-2
浙公网安备 33010602007544号