1. 程式人生 > >2018 moeCTF新生題-----一個菜鳥的部分WP

2018 moeCTF新生題-----一個菜鳥的部分WP

嗯嗯,畢竟我還是個資訊保安的小菜鳥,就去看看題目練練手,一起加油吧

                                                            MISC

BASE64:

這題顧名思義我就去用base64解碼了呢

bingo:moectf{[email protected]

[email protected]_coded_format}

 

凱撒密碼:

啊咧,走了七步,那所以加密往後推移的步數是8咯?(最開始是1,1+=7喲)

用自己寫的小程式解密一下

 

柵欄密碼:

乍一看就是垮了三個柵欄,moectf{song_fen}

 

ZIP偽加密:

修改加密位,常規操作,但是發現檔案報錯了,後來發現檔案頭錯了喲,要先修復ZIP才行

 

蒙娜麗“圓”的微笑:

用010Editor開啟檔案,結合圖片本身是gif格式,還原gif的檔案頭

然後用stegslove開啟圖片,發現有東西閃過,那我們就逐幀看……利用軟體中的Frame browser功能

默默逐幀播放就好

 

Backdoor:

我先用Winhex開啟看一下,發現裡面有很多網址,PHP什麼的,再結合題目給的流量包提示,用Winshark開啟看看

emmmm,我眼睛都找花了還是沒找到flag

然後題目說黑客攻擊後門,找出上傳入侵證據什麼的,猜測可能是圖片之類的,這類東西在網路中都是以010101形式傳播的,我們再找一下

找到了疑似壓縮包的資料流,把壓縮包製作出來,開啟後,發現有損混,但我們可以看到裡面確實有圖片

後來發現流量包一定要複製底下的那段,重新還原zip後,開啟是個二維碼哦,你懂的

 

皮卡丘的丘:

這題第一步很詭異,題目是皮卡丘,但圖上沒有,想了半天,修改了圖片的高度,發現了皮卡丘,以一部份flag

題目提示可能不只有一張圖片,但是我們用binwalk和foremost都沒有發現其餘圖片,很可是圖片的一部分被破損了,及其懷疑是標頭檔案,圖片的格式是png,大家可以去了解一下png的檔案格式哦,最終我是找到了兩個IHDR,在其中一個的前面補齊了標頭檔案,再用foremost分離就發現了兩外一個圖片

是不是想罵人

按照提示去下載軟體,學習一下操作,根據瞭解:SteganoImage 是一款可以將文字資訊或附件隱藏在 png 圖片文件的軟體。

線上解密出來這麼個東西

 

弄髒的二維碼:

題目提示黑白顛倒,要重定位

第一步,用photoshop進行反相

第二補,進行重定位,把二維碼補全,唉,難為我這個PS零基礎的,求了PS大神才知道該怎麼辦的……

 OK啦

 

                                                               RE

RE1:

這題剛開始我折騰了半天,覺得好複雜,後來就拖到IDA裡面看了看字串,然後,emm,就找到了

 

RE2:

拖到IDA裡面看一下

大概基本就是這樣我們可以在上麥呢看到v49是一個可以放8個元素的陣列,但是底下有減112什麼的,相當於十個負溢位,我們看網上搜索記憶體,發現正好是要輸入的buf空間,容我三思……

異或運算時可逆的,最後得出的buf的前22個數要等與v5到v26,賦值給buf後,前20個數在進行異或來還原,如下圖所示(list_one就是開頭的那一堆var)

這樣我們就解決了前22位,後面7個元素不知道怎麼辦,無關緊要,貌似沒有要求,題目中之分析出了前22起關鍵因素,我們轉換成字串

美滋滋,然後一提交,錯了……沒錯,錯了……尷尬,後來問題也找到了,就錯了一位,你能找到麼

 

PY逆向:

這道題我單獨寫了一篇,因為也是第一次接觸pyc,然後算是熟悉一下python(我真的很菜)

連結:https://blog.csdn.net/qq_42192672/article/details/81974616

 

你玩過2048麼:

這道題我們可以用cheat engine修改記憶體喲,我們開啟exe檔案,開啟cheat engine,把2048的執行緒附加繫結上去,我們可以搜尋你想要的數值,然後不斷的刪選,最後刪選出上傳4096的地址,然後把那個地址修改成4096就好啦,雖然這麼做的確有開掛的嫌疑(如下圖一般刪選,修改就好)

然後修改數值,就好啦,算是動態的小指令碼吧

                                                              PWN

ha:

這是我第一次做PWN的題目這個還比較簡單,先拖到IDA裡看一下

轉成C的程式碼分析一波

要輸入一個字串,然後覆蓋到int1926之前就好,是一個簡單的緩衝區溢位問題(雖然我糾結了很久)

這裡的0x0786就是1926的字串形式,但是記憶體歷史要小端序滴喲

                                                              WEB

Where is the flag:

F12檢視註釋

 

GET: 

這個題目其實算是掌握一點特殊姿勢就好了,題目上有和你說引數是flag,參考HTTP的GET方法,在網站後面加上?flag就好

 

POST:

這個我是用火狐瀏覽器的hackbar插間實現的

 

你喜歡機器人麼:

可以去了解一下robots.txt,大致就是說通過訪問這個檔案,就可以知道你允許訪問哪些地方

可以訪問的檔案就找到了,訪問該檔案就好了

 

彈彈彈,彈出XSS:

一個個試過來,嘗試吧包含FLAG的彈窗給弄出來

最後嘗試出來是<script>alert('flag')</script>,輸入就好了

 

萬能密碼:

這裡就是用後臺萬能密碼,概念可以大家百度一下

成功登陸,flag呢……估計是被背景色擋住了,去原始碼裡看看就有了哦

 

PHP是世界上最好的語言:

這個是弱型別,就是輸入的字元和所給的字元不同,但是md5加密後的值要相同,題目裡所給的字串的md5加密後的值是0,那麼我們百度一下那些字串md5加密後是0就好

 

騷年,你手速夠快麼:

這個算是一個攔截資料的問題,雖然題目提示要用Burp,我自己使用Winshark攔截的,感覺比較適合新手

啟動Winshark,然後開啟題目傳送門,進行攔截

 

PHP弱型別的復仇:

我們先看一下原始碼

基本上粗略看一下,就是在陣列gugugu裡面輸入一串字串,要匹配上所給的正則表示式,然後再用json_decode解密陣列gugugu,與secret進行比較

正則表示式大家給以搜一下什麼意思

這裡這個正則表示式的意思是----第一位是[1-9]中的一個數字,第二開始位是[A-Z]中的一個字母,一共要10到12位

接下來我們進行配湊,因為不知道secret是值是什麼,我們嘗試繞過

提示裡顯示從小到大,我先是試了所有整數,後來我試了科學技術法(E),emmmm……差點自閉

                                                             PPC

Cirno:

在Linux連線上題目,算是數學題吧,要我們迴圈99次,其實可以偷懶,伺服器只要收到答案9就算對,那我們輸入99個9就好