今天給大家伙分享一個(gè)網(wǎng)絡(luò)安全的案例,程序員和網(wǎng)安同學(xué)都可以看看,
前言:本文中涉及到的相關(guān)漏洞已報(bào)送廠商并得到修復(fù),本文僅限技術(shù)研究與討論,嚴(yán)禁用于非法用途,否則產(chǎn)生的一切后果自行承擔(dān)
漏洞成因
事情的起因是這樣的,在某一天我用谷歌做信息收集的時(shí)候:inurl:xxx.edu.cn pdf
,突然查找到這樣一份pdf文件,看完整個(gè)人都笑出了花,有位同學(xué)轉(zhuǎn)專業(yè),被學(xué)校調(diào)劑錯(cuò)了,然后被公示出來(lái),學(xué)號(hào)和sfz都泄露了。
接著我就好心的找了一下他們學(xué)校的統(tǒng)一登陸的地方,發(fā)現(xiàn)初始登陸的密碼是sfz的后六位。
直接登陸成功了,真是我的好兄弟啊。
基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
- 項(xiàng)目地址:https://github.com/YunaiV/ruoyi-vue-pro
- 視頻教程:https://doc.iocoder.cn/video/
漏洞發(fā)現(xiàn)
進(jìn)入之后發(fā)現(xiàn),只有日常事務(wù)這一個(gè)模塊能登陸進(jìn)去,先進(jìn)去看看的。
進(jìn)入之后測(cè)了很多地方,sql注入,文件上傳之類的漏洞是統(tǒng)統(tǒng)沒(méi)有啊,還有很多應(yīng)用居然沒(méi)有權(quán)限,但是她提醒我沒(méi)有權(quán)限這一點(diǎn),讓我想到,會(huì)不會(huì)有未授權(quán),但是抓包測(cè)試半天都沒(méi)有成功。
但是好在天無(wú)絕人之路,我突然看到一個(gè)功能點(diǎn),反饋這個(gè)功能點(diǎn)。
輸入了一些內(nèi)容之后,抓取數(shù)據(jù)包看了一下。
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"}
是這樣一個(gè)數(shù)據(jù)包,也沒(méi)有注入點(diǎn)之類的,感覺(jué)沒(méi)啥東西啊,想著就把/api/apps/feedback
這個(gè)直接拼接到url上看看,因?yàn)榭吹絘pi就會(huì)讓人想到信息泄露之類的。拼接上去之后,告訴我缺少pageNum這個(gè)參數(shù),我把這個(gè)參數(shù)拼接上去。
結(jié)果又告訴我缺少pageSize這個(gè)參數(shù)。
全部拼接上去之后發(fā)現(xiàn),是一條學(xué)生的信息。
改變這個(gè)pageNum和pageSize后面數(shù)字的大小可以看到更多信息,但是只有幾個(gè)學(xué)生有反饋問(wèn)題,得到的信息泄露少之又少,就只要這么一點(diǎn)點(diǎn),夠誰(shuí)吃啊,再來(lái)一罐,一人一罐(劉德華bushi)。
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能
漏洞深挖
雖然說(shuō)挖到這樣一個(gè)漏洞,但是毫無(wú)作用啊,感覺(jué)到有些挫敗的時(shí)候,突然想到,這個(gè)信息泄露肯定是整個(gè)系統(tǒng)的問(wèn)題,找一個(gè)學(xué)生信息多的地方,拼接url,看看能不能泄露的更多。
直接找到個(gè)人信息這一塊,編輯然后抓包看一下。
觀察一下我抓到的這個(gè)數(shù)據(jù)包,首先我想到上面拼接語(yǔ)句的時(shí)候,是直接url發(fā)送數(shù)據(jù)的,所以請(qǐng)求方法應(yīng)該是GET,并且我之前請(qǐng)求的時(shí)候是沒(méi)有body這個(gè)部分的,所以body也要?jiǎng)h除,然后拼接上pageNum和pageSize這兩個(gè)參數(shù)。
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"}
但是我修改后發(fā)現(xiàn)請(qǐng)求失敗了,告訴我沒(méi)有權(quán)限。
感覺(jué)好像還是有地方差點(diǎn)意思,發(fā)現(xiàn)直接語(yǔ)句的后面只拼接了三個(gè)目錄,那我嘗試也只拼接三個(gè)目錄試試呢。
終于這一次出現(xiàn)了別的學(xué)生信息,這里的話可能是五層目錄沒(méi)有權(quán)限,但是三層目錄有權(quán)限,導(dǎo)致了信息泄露。
然后我修改pageNum和pageSize這兩個(gè)參數(shù)的大小,結(jié)果測(cè)試后pageNum=1,2,3,4,5
和pageSize=1000
的時(shí)候,分別泄露不同的一千個(gè)人的信息,pageNum后面的數(shù)字超過(guò)5之后,就沒(méi)有信息了(這個(gè)學(xué)校的學(xué)生可能就這么多了)。并且pageSize后面的數(shù)值太大會(huì)造成超時(shí)。
所以我成功獲取了全校四千多名學(xué)生的姓名、班級(jí)、學(xué)號(hào)、郵箱、sfz等信息(厚碼碼死謝謝)
最后提交edusrc,做一個(gè)守法公民。
漏洞總結(jié)
1、肯定還是要做好信息收集,有的時(shí)候獲得了賬號(hào)比沒(méi)有賬號(hào)好出漏洞。
2、挖漏洞的時(shí)候一定要堅(jiān)持住,這套系統(tǒng)我來(lái)回測(cè)了好幾遍才出來(lái)這個(gè)漏洞,有的時(shí)候堅(jiān)持也很重要。
3、看到有api的時(shí)候,就嘗試去拼接一下,很多時(shí)候就會(huì)出現(xiàn)一些其他功能點(diǎn),或者信息的泄露。
審核編輯 :李倩
-
網(wǎng)絡(luò)安全
+關(guān)注
關(guān)注
10文章
3064瀏覽量
59257 -
代碼
+關(guān)注
關(guān)注
30文章
4671瀏覽量
67771 -
漏洞
+關(guān)注
關(guān)注
0文章
203瀏覽量
15260
原文標(biāo)題:真刑??!幾行代碼端了整個(gè)教務(wù)系統(tǒng)
文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論