2018全國大學信息安全競賽wp(2misc+2crypto+1web)


WEB:

0x00 easyweb

admin用戶是沒有密碼的,但是當密碼為空時,網頁會自動填寫。用hackbar構造空密碼post,服務器返回cookies,瀏覽器保存,刷新獲得flag

 

 CRYPTO:

0x01 flag_in_your_hand

輸入token調用js加密,比較。正確返回flag。加密方式是md5,返回的flag是一串base64

Jscheck方法,暴露了數組,python還原。輸入

 

 

0x02 oldstreamgame

流密碼,32mask,816進制flag2^32爆破不可取。讀腳本。

1.主函數第一個循環即寫入100字節,第二個循環通過將tmp循環左移+output(^output)變為8位,寫入文件。

2.Lfsr函數輸入(R,mask),輸出(output,lastbit)R初始為flag,長32位,每經過一次函數,R=output=(R*2)%2**32+lastbit即循環左移末尾補上lastbitmask32位不變。lastbit長度1位,有點類似於差分曼徹斯特編碼,i=R&mask,i的末位為1時會發生跳變,為0時保持原數。在這個發過程中發現,當i1為奇數時為lastbit1,為偶數時為0

總結出這些規律后,不難發現key只有前32字節是直接與flag有關。后面的字節是后來補上的lastbit加密而成。所以利用這一特點,循環右移,計算奇偶,算出flag

貼出解密腳本和驗證

 

 

 

Misc:

0x03 picture

Binwalk -eM 掃出一段數據,打開里面是base64python解碼保存為一個文件

 

Winhex查看16進制,發現有點像zip壓縮包,但頭部為4B50,所以修改頭部和后綴打開。

 

 

根據注釋獲得密碼  integer division or modulo by zero

 

打開code,發現為uuencode,解碼

 

0x04 驗證碼

輸入32token與驗證碼獲得flag

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM