CNode

关于cnodejs官网的XSS和CSRF=>我的解决方案!希望官方赶紧修补漏洞、升级源码!

Jj4cnodejs发布于14 年前最后回复14 年前14 回复6845 浏览0 收藏

不知道昨天是不是官方升级修复了XSS漏洞? 让我们来试一下,看看漏洞是否健在? 下面是 @snoopy 同学写的原文, 链接地址也是只字未改:

自从我在cnodejs官网上发布了一篇关于《xss和csrf讨论》的文章后,cnodejs开始了一轮xss注入热潮,各种alert弹窗,自动回复以及修改页面等等。最后袁锋(suqian)只能将所有的markdown标签的html标签禁用,才平息了这场风波。 但是真的将所有的html标签都禁用了就没有漏洞了吗? 感兴趣的同学可以去我的博客原文看看,传送门如下 亲本链接只对chrome有效,亲登陆了再点哦~

传送门

##其实防XSS攻击很简单, 下面的方法一针见效: var content = sanitize(Showdown.parse(topic.content)).xss();

查看回复

回复 (13)

J
j4cnodejs#1·14 年前
var content = sanitize(content).xss();
J
j4cnodejs#2·14 年前
content = sanitize(Showdown.parse(content)).xss();
J
j4cnodejs#3·14 年前
引用 j4cnodejscontent = sanitize(Showdown.parse(content)).xss();

也就是说, nodeclub代码在用Showdown输出 topic 和 reply 的内容时, 不需要先进行标签过滤( Util.escape ), 而只需直接:

sanitize(Showdown.parse(topic.content)).xss();

我已经在最新版的 cnodejs-nodeclub 源代码上修改成功! 修改后的topic显示代码如下:

//topic.content = Showdown.parse(Util.escape(topic.content));//原显示
      topic.content = sanitize(Showdown.parse(topic.content)).xss();
J
j4cnodejs#4·14 年前

经过 sanitize(content).xss() 处理后, 安全的 markdownHTML 标签仍将得到保留, 而那些危险的脚本和标签才会被过滤——要么直接删除,要么显示“[removed]!

L
leizongmin#6·14 年前

我崇拜snoopy,他是英雄!

J
j4cnodejs#7·14 年前

我崇拜snoopy,他是英雄!

J
j4cnodejs#8·14 年前

我晕, 原来这个漏洞一直存在啊! 很简单的措施为啥不去做呢? 替你们着急! @snoopy, @suqian

P
pa001024#10·14 年前
J
jiyinyiyong#11·14 年前
S
snippets#12·14 年前

我崇拜snoopy,他是英雄!

J
j4cnodejs#13·14 年前

我崇拜snoopy,他是英雄!

参与回复
登录后即可参与回复。登录