最近一段時間突發其想打算做個類似攜程搶火車票一樣的雲搶課平台,專案做了一大半突然看見新聞有人做幫其他人搶火車票的生意被逮起來的。而且雲搶課平台一旦做起來,學校的土豆伺服器肯定分分鐘崩潰,到時候學校肯定要請我去喝茶。所以把我這段時間的研究成果公開供大家學習。文中有什麼不對的地方還請各位大佬指出。
首先,學校的搶課系統是比較常見的正方教務系統,按理來說應該非常簡單。但是,對比其他正方教務系統,顯然我們學校的教務系統登入頁面被關閉,而採用了cas,central authentication service—**認證服務。
但是,對比其他正方教務系統,顯然我們學校的教務系統登入頁面被關閉,而採用了cas,central authentication service—**認證服務。
在github上找到一位杭電16級學長做過的類似的專案,但是學校的登入系統又進行了公升級,後來要到了學長的****,通過交流我也大概了解到思路,於是開始研究新版數字杭電登入系統。
首先用chrome進行抓包
可以看到登入的資料進行了rsa非對稱加密演算法進行了加密,老版的數字杭電登入系統採用的是md5加密演算法。
知道採用rsa加密後首先想到去前端的js裡面查詢加密函式
果然找到了乙個名稱為des的js檔案,剛好鄙人上學期選修了資訊保安技術的專業選修課,課上研究過des+rsa的加密。開啟des.js果然就是頁面所採取的加密演算法。
下一步在login.js的**裡面找到呼叫加密函式的語句
經過分析u就是學號,p是密碼,lt是loginticket
緊接著就是獲取loginticket,經過學長的指導,得知loginticket在html中。
此時我們在**中通過正規表示式則可以把lt提取出來
此時rsa加密部分基本上已經分析完畢了
緊接著將des.js儲存,並通過python的execjs庫呼叫加密函式
這裡我特意嘗試對比一下加密結果是否和抓包得到的結果一致,結果發現完全一致
此時我們已經獲取了登入所需的所有的引數(execution獲取同理lt此處略過)ul是學號長度,pl是密碼長度
此時我們就可以將data進行傳送了。接下來的操作就和其他**的操作類似了。
不得不說學校對安全性還是很重視的,老版數字杭電採用的只是將密碼進行md5加密,雖然傳輸的資料即使被擷取沒辦法知道密碼是多少但是攻擊者就可以通過這個md5值當作密碼偽裝並成功登入。而新版的數字杭電採用的則是 學號+密碼+loginticket 合成乙個字串進行rsa非對稱加密,雖然公鑰是固定的,但由於loginticket每次都會改變使得即使資料被擷取攻擊者也沒辦法偽裝。
Linux系統分析之啟動流程
第一部分 核心的引導 核內引導 啟動裝置使用lilo或grub等引導程式開始引導linux系統,當引導程式成功完成引導任務後,linux從它們手中接管了cpu的控制權,然後cpu就開始執行linux的核心映象 開始了linux啟動過程。這裡使用了幾個匯程式設計序來引導linux,這一步涉及到linu...
Linux系統記憶體管理之夥伴系統分析
1.夥伴系統概念 夥伴系統是一種經典的記憶體管理方法。linux夥伴系統的引入為核心提供了一種用於分配一組連續的頁而建立的一種高效的分配策略,並有效的解決了外碎片問題。2.夥伴系統的組織結構 linux中的記憶體管理的 頁 大小為4kb。把所有的空閒頁分組為11個塊鍊錶,每個塊鍊錶分別包含大小為1,...
3 2 系統分析之正反饋
反饋控制系統 feedback control system 是一種 閉環 系統,是控制理 論的基本概念。反饋指將系統的輸出返回到輸入端並以某種方式改變輸入,進而影響系統功能的過程。反饋可分為負反饋和正反饋。負反饋使輸出起到與輸入相反的作用,使系統輸出與系統目標的誤差減小,系統趨於穩定 正反饋使輸出...