今天給大家伙分享一個網絡安全的案例,程序員和網安同學都可以看看,
前言:本文中涉及到的相關漏洞已報送廠商并得到修復,本文僅限技術研究與討論,嚴禁用于非法用途,否則產生的一切后果自行承擔
漏洞成因
事情的起因是這樣的,在某一天我用谷歌做信息收集的時候:inurl:xxx.edu.cn pdf
,突然查找到這樣一份pdf文件,看完整個人都笑出了花,有位同學轉專業,被學校調劑錯了,然后被公示出來,學號和sfz都泄露了。
接著我就好心的找了一下他們學校的統一登陸的地方,發現初始登陸的密碼是sfz的后六位。
直接登陸成功了,真是我的好兄弟啊。
基于 Spring Boot + MyBatis Plus + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能
- 項目地址:https://github.com/YunaiV/ruoyi-vue-pro
- 視頻教程:https://doc.iocoder.cn/video/
漏洞發現
進入之后發現,只有日常事務這一個模塊能登陸進去,先進去看看的。
進入之后測了很多地方,sql注入,文件上傳之類的漏洞是統統沒有啊,還有很多應用居然沒有權限,但是她提醒我沒有權限這一點,讓我想到,會不會有未授權,但是抓包測試半天都沒有成功。
但是好在天無絕人之路,我突然看到一個功能點,反饋這個功能點。
輸入了一些內容之后,抓取數據包看了一下。
POST/api/apps/feedbackHTTP/1.1
Host:xxx.xxx.xxx:80
Content-Length:79
Accept:application/json,text/plain,*/*
X-Requested-With:XMLHttpRequest
User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/110.0.0.0Safari/537.36Edg/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)。
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能
漏洞深挖
雖然說挖到這樣一個漏洞,但是毫無作用啊,感覺到有些挫敗的時候,突然想到,這個信息泄露肯定是整個系統的問題,找一個學生信息多的地方,拼接url,看看能不能泄露的更多。
直接找到個人信息這一塊,編輯然后抓包看一下。
觀察一下我抓到的這個數據包,首先我想到上面拼接語句的時候,是直接url發送數據的,所以請求方法應該是GET,并且我之前請求的時候是沒有body這個部分的,所以body也要刪除,然后拼接上pageNum和pageSize這兩個參數。
Content-Length:748
Accept:application/json,text/plain,*/*
X-Requested-With:XMLHttpRequest
User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/110.0.0.0Safari/537.36Edg/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-122340","tcsj":"2023-02-131125","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":"20xxxxxxxxxxxx4@xxx.edu.cn"}
但是我修改后發現請求失敗了,告訴我沒有權限。
感覺好像還是有地方差點意思,發現直接語句的后面只拼接了三個目錄,那我嘗試也只拼接三個目錄試試呢。
終于這一次出現了別的學生信息,這里的話可能是五層目錄沒有權限,但是三層目錄有權限,導致了信息泄露。
然后我修改pageNum和pageSize這兩個參數的大小,結果測試后pageNum=1,2,3,4,5
和pageSize=1000
的時候,分別泄露不同的一千個人的信息,pageNum后面的數字超過5之后,就沒有信息了(這個學校的學生可能就這么多了)。并且pageSize后面的數值太大會造成超時。
所以我成功獲取了全校四千多名學生的姓名、班級、學號、郵箱、sfz等信息(厚碼碼死謝謝)
最后提交edusrc,做一個守法公民。
漏洞總結
1、肯定還是要做好信息收集,有的時候獲得了賬號比沒有賬號好出漏洞。
2、挖漏洞的時候一定要堅持住,這套系統我來回測了好幾遍才出來這個漏洞,有的時候堅持也很重要。
3、看到有api的時候,就嘗試去拼接一下,很多時候就會出現一些其他功能點,或者信息的泄露。
審核編輯 :李倩
-
網絡安全
+關注
關注
10文章
3176瀏覽量
59921 -
代碼
+關注
關注
30文章
4802瀏覽量
68745 -
漏洞
+關注
關注
0文章
204瀏覽量
15396
原文標題:真刑啊!幾行代碼端了整個教務系統
文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論