2021-08-16记一次无意发现正方教务系统的bug
想重新為老師評分,但是當我登進教務系統一看,我的評價已經提交,并且找不到修改的選項了,這可咋辦,于是開始網上找資料,最后形成了以下幾種方案:
1.通過內網滲透看能不能對賬號進行提權,或獲取到數據庫的配置文件啥的。
2.物理攻擊,直接進入機房操作數據庫修改教師評分。
3.在瀏覽器端調用接口修改系統數據。
想好方案后我趕緊撿好書包回到寢室打開電腦,首先花了半個小時嘗試使用第一種方案,但是連服務器的內網ip都沒有掃到,再加上此方案會留下腳印,直接放棄此方案。
對于第二種方案,由于正值暑假,機房已經封鎖,物理攻擊不可行。
然后我就嘗試第三種方案,對于此方案還是比較有信心的,畢竟作為一個擁有前端開發經驗的小菜鳥老說,這種系統流程還是了解的,評價教師的流程大致就是前端通過http請求將打分的數據發給后端,后端保存到數據庫。
第一步還是習慣性的打開瀏覽器的控制臺,令我比較意外的是這個系統竟然更新了,使用了XHR請求,將頁面和數據的請求分離開來。
那么怎樣才能再次提交評分數據,從而達到修改之前評分的效果呢?
當然是的先找到提交的數據的接口了,但是現在已經提交過了,無法再次提交讓系統暴露提交接口出來。不過可以想一下既然之前能提交,那么提交接口有關的信息肯定已經加載到我們本地了。
接著我就花了一點時間審查了一下部分能看到的源代碼,還真發現了提交的相關代碼,感謝程序員小哥哥寫了注釋。
然后我又畫了一點點時間將此代碼提取出來,并構建所需要的數據,然后在瀏覽器的控制臺直接調用此接口把評分的數據傳給后端。
你沒有看錯,我傳給后端的評分是999,竟然成功了,服務器還返回了成功。
接著我將軟件測試的知識置于實踐中,我將評分設定為-1傳過去會怎樣呢?
我靠,這竟然還能成功,絕對是后端偷懶了、沒有進行數據校驗,這也提醒我們開發時后端不能完全相信前端出過來的數據,自己得做校驗!!!
總所周知,評分都是數字類型的,如果我把評分改為字符傳過去會怎樣呢?嘿嘿
哈哈,后端接口返回系統異常,估計是后端類型轉換異常,然后被捕獲了沒有將詳細的報錯信息返回給前端。
不要再給她二次傷害。
總結
以上是生活随笔為你收集整理的2021-08-16记一次无意发现正方教务系统的bug的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 点击图片放大,实现移动端双指缩放,单指拖
- 下一篇: 计算机网络实验——路由器基本配置