記一次挖掘edu-src的過程
0x01 前言
今天在群里和沙雕網友嘮嗑,正好聊到了網絡安全上面。于是打算展示點與網絡安全相關的東西給群友們看看。就拿群友的學校開刀試試。
所有漏洞已提交給edu-src。
0x02 信息搜集
首先收集一下子域名,為了方便起見,直接使用在線子域名查詢,https://phpinfo.me/domain/

逐個查看,找到了三個具有登錄功能的地址。簡單測試一下,不能用萬能密碼進入。這時候發現其中有一個登錄地址存在注冊功能。
0x03 漏洞挖掘
一、存儲型XSS
注冊一個賬號,進去之后發現可以編輯個人信息

測一下有沒有存儲型xss

打入xss的payload,保存輸入的信息,可以看到成功觸發payload,申請項目的時候管理員會查看申請者的個人信息,這時候就可以利用存儲型xss來竊取管理員的cookie了

二、邏輯漏洞
一個存儲型XSS顯然是不夠在群里吹水的,在這個平臺上面翻來覆去的看看有沒有什么漏掉的功能。
這時候突然在burp看到一個數據包

在忘記密碼這個功能這里,程序會發送驗證碼到注冊用的手機號上面,于是想把數據包里面的手機號碼改成其他手機號。會不會把驗證碼發到其他手機上?
又去注冊了一個測試用的賬號,這下就有兩個帳號了,兩個賬號分工一下:
- 目標賬號(188xxxxx519)
- 攻擊者賬號(173xxxxx676)
理一下攻擊思路:
- 利用忘記密碼的功能,嘗試更改目標賬號(188xxxxx519)的密碼
- 開啟burp,點擊發送驗證碼,攔截該數據包。
- 將數據包中的目標賬號(188xxxxx519)修改為攻擊者賬號(173xxxxx676)然后發送數據包
- 原本應該發送給目標賬號(188xxxxx519)的驗證碼信息有可能直接發送到攻擊者賬號(173xxxxx676)的手機上
- 利用收到的驗證碼,就可以更改目標賬號(188xxxxx519)的用戶密碼
說干就干,首先輸入我們要攻擊的目標賬號

然后利用burp攔截發送驗證碼的數據包,將phone處的數據修改為攻擊者賬號之后發送數據包。

可以看到成功將驗證碼發送到攻擊者手機上,這是個好兆頭

等待一會兒,從攻擊者手機上收到發送過來的驗證碼。到這里基本已經成功了

然后利用收到的驗證碼,去更改目標賬戶的驗證碼

利用更改過后的密碼嘗試登錄,可以看到成功登錄進去

0x04 后記
我個人用的一個簡單的挖掘思路,從收集子域名,到找尋敏感功能點(諸如登錄,教務處,項目管理平臺,微信小程序),再到測試輸入點看看會不會有常見的web漏洞。然后猜測程序背后的邏輯關系來挖掘邏輯漏洞。多想一想如果這個網站是自己寫的,可能會在哪里出現邏輯問題。
另外,在edu-src上看到一位前輩的挖掘思路無比牛。他直接想辦法尋找網站的源代碼。開源的框架就直接官方找,不開源的框架就用fofa查詢與目標站點采用相同框架的其他站點,然后看看這些站點里面有沒有開發者忘記刪掉的備份文件。拿到代碼之后,直接審計源代碼挖掘0day,然后寫POC批量打。