曾经某DN博客里的一个有趣的存储型XSS分析

  • A+
所属分类:安全文章

曾经某DN博客里的一个有趣的存储型XSS分析

前言(一年前的一个XSS,已经修复,这里关注分析)

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

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


曾经某DN博客里的一个有趣的存储型XSS分析


那还不赶紧研究下呢!

分析过程

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


曾经某DN博客里的一个有趣的存储型XSS分析


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


曾经某DN博客里的一个有趣的存储型XSS分析


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

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


曾经某DN博客里的一个有趣的存储型XSS分析


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


曾经某DN博客里的一个有趣的存储型XSS分析


"  <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>"

写出文档就弹窗了:


曾经某DN博客里的一个有趣的存储型XSS分析


漏洞利用

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

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


曾经某DN博客里的一个有趣的存储型XSS分析


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

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



曾经某DN博客里的一个有趣的存储型XSS分析

本文始发于微信公众号(T00ls):曾经某DN博客里的一个有趣的存储型XSS分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: