主頁 > 後端開發 > 真刑!幾行代碼端了整個教務系統。。

真刑!幾行代碼端了整個教務系統。。

2023-06-14 07:47:47 後端開發

作者: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,5pageSize=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連接不上配置的坑

下一篇:返回列表

標籤雲
其他(160896) Python(38222) JavaScript(25493) Java(18230) C(15237) 區塊鏈(8270) C#(7972) AI(7469) 爪哇(7425) MySQL(7248) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5874) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4591) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2435) ASP.NET(2404) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1984) 功能(1967) HtmlCss(1964) Web開發(1951) C++(1939) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1881) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • 真刑!幾行代碼端了整個教務系統。。

    作者:lyc \ 來源:https://www.freebuf.com/vuls/358037.html 今天給大家伙分享一個網路安全的案例,程式員和網安同學都可以看看, > 前言:本文中涉及到的相關漏洞已報送廠商并得到修復,本文僅限技術研究與討論,嚴禁用于非法用途,否則產生的一切后果自行承擔 ## ......

    uj5u.com 2023-06-14 07:47:47 more
  • nacos連接不上配置的坑

    ### 問題: 今天在使用nacos時,發現怎么樣都連接不上配置 ### 思路: 毋庸置疑這個肯定是配置問題,下面是我現在的配置 ```yaml nacos: username: nacos password: nacos server-addr: 127.0.0.1:8848 # 注冊中心 dis ......

    uj5u.com 2023-06-14 07:47:32 more
  • JDK11 官網下載(提供網盤下載資源)

    # 引言 我們要學習 Java 語言去開發 Java 程式,就需要先下載 JDK,JDK 是 Java 開發工具包,包含了編譯、運行 Java 程式所需的各種工具和資源,有 Java 編譯器、Java 運行時環境,還有常用的 Java 類別庫等。本文將詳細介紹如何從官網下載 JDK。 # 一、Orac ......

    uj5u.com 2023-06-14 07:47:11 more
  • JAVA非遞回生成無限級選單樹的較簡代碼實作。(非泛用型工具包,僅總

    這是一個根據串列生成一個樹狀結構的較簡單實作。搜了搜看起來好像沒多少人總結過這種實作。寫上來整理一下自己的思路,請大家用用看看,應該用起來問題不大?反正我沒遇到BUG。 實作的時間復雜度為O(N),空間復雜度應該還是O(N)吧。不過GPT說O(1)可能是因為java的物件實作hash鏈表是參考而不是 ......

    uj5u.com 2023-06-14 07:46:59 more
  • Java的泛型

    泛型程式設計(Generic programming) 意味著撰寫的代碼可以被很多不同型別的物件所重用。泛型對于集合類尤其有用,例如,ArrayList 就是一個無處不在的集合類。一個 ArrayList 類可以聚集任何型別的物件,這是一個泛型程式設計的實體。 ......

    uj5u.com 2023-06-14 07:46:53 more
  • 【解決一個小問題】golang 的 `-race`選項導致 unsafe代碼 panic

    **作者:張富春(ahfuzhang),轉載時請注明作者和參考鏈接,謝謝!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G ......

    uj5u.com 2023-06-14 07:46:34 more
  • Go 語言之 sqlx 庫使用

    # Go 語言之 sqlx 庫使用 ## 一、sqlx 庫安裝與連接 ### sqlx 介紹 sqlx is a library which provides a set of extensions on go's standard `database/sql` library. The sqlx ......

    uj5u.com 2023-06-14 07:46:24 more
  • 深入探究for...range陳述句

    # 1. 引言 在Go語言中,我們經常需要對資料集合進行遍歷操作。對于陣列來說,使用for陳述句可以很方便地完成遍歷。然而,當我們面對其他資料型別,如map、string 和 channel 時,使用普通的for回圈無法直接完成遍歷。為了更加便捷地遍歷這些資料型別,Go語言引入了for...range ......

    uj5u.com 2023-06-14 07:46:18 more
  • vs2022 wxWidgets

    # 下載 https://www.wxwidgets.org/downloads/ 下載壓縮包即可 ![image](https://img2023.cnblogs.com/blog/916065/202306/916065-20230614040303993-2082032985.png) # 編 ......

    uj5u.com 2023-06-14 07:45:22 more
  • OpenFoam——自定義求解器

    ## 1、求解器 ### 1.1 復制原始碼 本案例以icoFoam為例,復制【openFOAM/OpenFOAM-9/applications/solvers/incompressible/icoFoam】檔案夾至run檔案夾下(我的是【openFOAM/mtl-9/run/solvers/inco ......

    uj5u.com 2023-06-14 07:44:36 more