作者:lyc
來源:https://www.freebuf.com/vuls/358037.html
今天給大家伙分享一個網路安全的案例,程式員和網安同學都可以看看,
前言:本文中涉及到的相關漏洞已報送廠商并得到修復,本文僅限技術研究與討論,嚴禁用于非法用途,否則產生的一切后果自行承擔
漏洞成因
事情的起因是這樣的,在某一天我用谷歌做資訊收集的時候:inurl:xxx.edu.cn pdf
,突然查找到這樣一份pdf檔案,看完整個人都笑出了花,有位同學轉專業,被學校調劑錯了,然后被公示出來,學號和sfz都泄露了,
接著我就好心的找了一下他們學校的統一登陸的地方,發現初始登陸的密碼是sfz的后六位,
直接登陸成功了,真是我的好兄弟啊,
推薦一個開源免費的 Spring Boot 實戰專案:
https://github.com/javastacks/spring-boot-best-practice
漏洞發現
進入之后發現,只有日常事務這一個模塊能登陸進去,先進去看看的,
進入之后測了很多地方,sql注入,檔案上傳之類的漏洞是統統沒有啊,還有很多應用居然沒有權限,但是她提醒我沒有權限這一點,讓我想到,會不會有未授權,但是抓包測驗半天都沒有成功,
但是好在天無絕人之路,我突然看到一個功能點,反饋這個功能點,
輸入了一些內容之后,抓取資料包看了一下,
POST /api/apps/feedback HTTP/1.1
Host: xxx.xxx.xxx:80
Content-Length: 79
Accept: application/json, text/plain, */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41
Content-Type: application/json;charset=UTF-8
Origin: http://xxx.xxx.xxx:80
Referer: http://xxx.xxx.xxx:80/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,ko;q=0.5,zh-TW;q=0.4
Cookie: sid=7e670c0c-9529-4a1b-87b6-6c6aec4edbc1
Connection: close
{"jybh":"d997E5ee-17B6-6C9A-13c1-83EAFE09F831","bt":"1","yddh":"11","jynr":"1"}
是這樣一個資料包,也沒有注入點之類的,感覺沒啥東西啊,想著就把/api/apps/feedback
這個直接拼接到url上看看,因為看到api就會讓人想到資訊泄露之類的,拼接上去之后,告訴我缺少pageNum這個引數,我把這個引數拼接上去,
結果又告訴我缺少pageSize這個引數,
全部拼接上去之后發現,是一條學生的資訊,
改變這個pageNum和pageSize后面數字的大小可以看到更多資訊,但是只有幾個學生有反饋問題,得到的資訊泄露少之又少,就只要這么一點點,夠誰吃啊,再來一罐,一人一罐(劉德華bushi),
漏洞深挖
雖然說挖到這樣一個漏洞,但是毫無作用啊,感覺到有些挫敗的時候,突然想到,這個資訊泄露肯定是整個系統的問題,找一個學生資訊多的地方,拼接url,看看能不能泄露的更多,
直接找到個人資訊這一塊,編輯然后抓包看一下,
觀察一下我抓到的這個資料包,首先我想到上面拼接陳述句的時候,是直接url發送資料的,所以請求方法應該是GET,并且我之前請求的時候是沒有body這個部分的,所以body也要洗掉,然后拼接上pageNum和pageSize這兩個引數,
Content-Length: 748
Accept: application/json, text/plain, */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41
Content-Type: application/json;charset=UTF-8
Origin: http://xxx.xxx.xxx:80
Referer: http://xxx.xxx.xxx:80/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,ko;q=0.5,zh-TW;q=0.4
Cookie: sid=7e670c0c-9529-4a1b-87b6-6c6aec4edbc1
Connection: close
{"yhbh":"xxxxxxxxxxxx","xm":"xxx","nc":"1","zt":"0","pxh":0,"yddh":"189xxxxxxx","dzyx":"xxxxxxxxxxxx","qq":null,"wechatUnion":null,"wechatOpenid":null,"salt":"test","xbm":"1","yhlx":"0","tx":"xxxxxxxxxxxx_avatar","pf":"defaultSkin","bmmc":"19xx1","bmbh":"xxxxxxxxxxxx","jzbmbh":[],"yhjs":["XS"],"positionIds":null,"userLog":{"bh":"7d83f326-7cee-4ad4-b242-17faef9fdc90","yhbh":"xxxxxxxxxxxx","dlsj":"2023-02-12 23:12:40","tcsj":"2023-02-13 11:22:25","khdczxt":"Windows","khdllq":"Chrome-110.0.0.0","khdipdz":"117.92.247.178","khdlx":"PC"},"gwbh":[],"gwmc":[],"sfzjh":null,"personalSkin":null,"personalSkinThum":null,"value":null,"id":"xxxxxxxxxxxx","nickname":"1","phone":"18xxxxxx","email":"[email protected]"}
但是我修改后發現請求失敗了,告訴我沒有權限,
感覺好像還是有地方差點意思,發現直接陳述句的后面只拼接了三個目錄,那我嘗試也只拼接三個目錄試試呢,
終于這一次出現了別的學生資訊,這里的話可能是五層目錄沒有權限,但是三層目錄有權限,導致了資訊泄露,
然后我修改pageNum和pageSize這兩個引數的大小,結果測驗后pageNum=1,2,3,4,5
和pageSize=1000
的時候,分別泄露不同的一千個人的資訊,pageNum后面的數字超過5之后,就沒有資訊了(這個學校的學生可能就這么多了),并且pageSize后面的數值太大會造成超時,
所以我成功獲取了全校四千多名學生的姓名、班級、學號、郵箱、sfz等資訊(厚碼碼死謝謝)
最后提交edusrc,做一個守法公民,
漏洞總結
1、肯定還是要做好資訊收集,有的時候獲得了賬號比沒有賬號好出漏洞,
2、挖漏洞的時候一定要堅持住,這套系統我來回測了好幾遍才出來這個漏洞,有的時候堅持也很重要,
3、看到有api的時候,就嘗試去拼接一下,很多時候就會出現一些其他功能點,或者資訊的泄露,
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2022最新版)
2.勁爆!Java 協程要來了,,,
3.Spring Boot 2.x 教程,太全了!
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!
5.《Java開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/555053.html
標籤:Java
上一篇:nacos連接不上配置的坑
下一篇:返回列表