CSDN博客里的一个有趣的存储型XSS分析

2019-07-23 22:05:30 21 3261

前言

本想百度某个知识点时,点击此CSDN链接竟然弹窗了!竟然弹窗了!竟然弹窗了!重要的事说三遍。

链接地址:https://bbs.csdn.net/topics/390816889

那还不赶紧研究下呢!

分析过程

通过分析和抓包,确定来源于这个post请求:这个请求功能是通过搜索关键字返回相关的关键字博客链接和说明

默认的返回包数据太多,不利于JS调试,修改返回包插入2条包含XSS代码的数据,可看到这里数据已经经过HTML实体编码了。

那么既然弹窗了,肯定是本地js解析了,就是不知道是在script里直接执行还是写出文档进行执行(写出文档那么要把html实体编码转换为正常的字符才行)

下断点,可看到loadData这个函数负责解析返回数据的,这里t拼接时还是实体编码字符

继续走,可看到html()函数把实体编码转换为正常字符:

"  <li class="right-item cebian_item"  data-report-click={"mod":"popu_728","dest":"https://blog.csdn.net/selah1/article/details/84366274"} data-report-view={"mod":"popu_728","dest":"https://blog.csdn.net/selah1/article/details/84366274"}><a href=https://blog.csdn.net/selah1/article/details/84366274 target="_blank"><div class="content clearfix"><h5 class="" title=很郁闷 window.location.href 竟然没有权限>很郁闷 window.location.href 竟然没有权限</h5><span class="time">2012-12-10</span><span class="read so_read"> <svg class="icon no-active hover-hide" aria-hidden="true"><use xlink:href="#yuedushu"></use></svg>59</span></div><div class="right-item-desc">很郁闷alert('xss');</div></a></li>  <li class="right-item cebian_item"  data-report-click={"mod":"popu_728","dest":"https://download.csdn.net/download/duck_arrow/3900053"} data-report-view={"mod":"popu_728","dest":"https://download.csdn.net/download/duck_arrow/3900053"}><a href=https://download.csdn.net/download/duck_arrow/3900053 target="_blank"><div class="content clearfix"><h5 class="" title=jsp 刷新父页面>jsp 刷新父页面</h5><span class="time">2011-12-09</span><span class="read so_read"> <svg class="icon no-active hover-hide" aria-hidden="true"><use xlink:href="#yuedushu"></use></svg>15</span></div><div class="right-item-desc"><script>alert(document.cookie);</script>"</div></a></li>"

写出文档就弹窗了:

漏洞利用

这个post包我只发现只有打开论坛帖子链接时才会发送,打开普通博客链接则不会发送。

所以,需要在论坛发一个帖子,帖子的标题改成和你已经发表了的一篇博客有关,那么打开此帖子就会通过关键字找到你的博客帖子。

然后就是修改你的博客帖子,里面插入xss代码,反正这个jS函数会进行html实体转换。

尴尬的一点来了:修改博客内容插入XSS代码,打开这个论坛帖子,发现博客内容没有变,应该这个POST读取的是以前缓存的博客,也不知道什么时候能把缓存更新了才行。

TCV:1

关于作者

a176798699327篇文章191篇回复

咸鱼一枚

评论21次

要评论?请先  登录  或  注册