平時做題總結

Misc

[BJDCTF 2nd]EasyBaBa

Augenstern
下載圖片後,很大的一張圖片,裏面必定有東西,foremost分離
得到壓縮包。
解壓後是一張jpg格式的圖片,但是打不開,猜想應該可能會是文件頭缺少,打開010Editor,看一下,發現有點不對勁,
Augenstern
好像是個avi文件,改後綴。打開是一個小視頻,好像看過,釘釘來着,全程在叫baba哈。看到中間有幾張帶二維碼的圖片閃過去了。太快看不清,用放在PR裏逐幀分離,用截圖工具Snipaste截取二維碼QQ截圖也行,(注意截圖時,不要截到其他部分,否則修復二維碼時會出現解碼失敗的現象)。
放在掃描工具裏修復二維碼並掃碼
Augenstern
全部掃出來,得到字符串,觀察發現符合base16編碼的特徵。於是進行base16解碼
Augenstern
這個答案好奇怪,柵欄也不是啊。難道是什麼新的加密?看看比賽時給的wp,
Augenstern
呃呃呃,是這樣嗎??????
flag:BJD{imagin_love_Y1ng}

安恆月賽——6G還會遠嗎

題目鏈接:http://server.zhaoj.in:8888/1GTest.file
在這裏插入圖片描述
14天啊,是挺無語的,當時想抓包改什麼參數來着,全都失敗。結果看了wp就是直接將沒下載完的文件,放在winhex或010Editor裏看。
在這裏插入圖片描述
大寫的服!

DASCTF{welcome_to_DAS_Ap1r1}

黃金六年

Augenstern
之前學長給我們看過這個,所以直接進PR裏一幀一幀看了,在四本書上看到了二維碼,手機掃不出來,當然不是全部,反正我的是掃不出來。
我用QR Research直接掃出來四個信息。
Augenstern
交flag發現不對,有點奇怪,然後才發現學長給我們看這個題,沒讓我們看完,還有接下來的步驟。
將視頻拖進010Editor中滑到最後,發現了base64編碼
Augenstern
進行解碼,看到是rar壓縮包,
Augenstern
然後大佬們的辦法是寫腳本,我不會寫,只能另外找辦法。我就想到將base64編碼轉換成16進制,然後再保存爲rar文件,好像可行。試一下。
Augenstern
網站地址:base64轉換成16進制
然後,複製十六進制的編碼粘貼到HxD中進行保存。
Augenstern
保存後,打開看看,果然能打開,加密的,密碼就是前面得到的那個字符串,解壓得到flag
Augenstern
提交正確。

[安洵杯 2019]吹着貝斯掃二維碼

Augenstern
解壓發現一堆文件
在這裏插入圖片描述
而且壓縮包還是加密的,看看那些文件,發現都有JPEG,可能是jpg圖片,先改一個看看。
在這裏插入圖片描述
有點東西,總不能一個一個改吧?這麼多,然後在百度的小角落裏發現了一個工具——格式工廠(最喜歡工具了)
在這裏插入圖片描述
真快,看一下。
在這裏插入圖片描述
好傢伙,拼圖。得到36張圖,可以拼一張6x6的大圖。
將文件夾拖進kali。然後使用工具拼圖。
在文件夾內打開終端

montage *jpg -tile 6x6 -geometry 134x130+0+0 out.jpg

然後得到一張混亂無序的圖。
注意這裏的像素:要和分裂的二維碼殘片的像素一致才能得出這樣的二維碼亂序圖。如果像素不一樣了,就得不到這樣的圖,當然後面的步驟也就無法進行下去。
而這張圖的像素:打開一張二維碼片段,然後看它的屬性裏面——詳細信息
在這裏插入圖片描述
Augenstern
再使用gaps還原

gaps --image=out.jpg --generations=40 --population=36 --size=100

沒還原出來,尷尬哈,,,,不知道怎麼回事,我試了n次了,就是還原不出來。奇怪了。最後我實在是沒辦法了,只上手了。在PPT裏拼的。md 累死,我拼了倆小時(淚流滿面.gif)
在這裏插入圖片描述
掃描吧,終於可以掃了。
在這裏插入圖片描述
emmm,啥玩意兒。好像還有個flag.zip沒看。
在這裏插入圖片描述
嗷嗷,還有編碼。複製出來解密。
上面掃出來的好像是加密順序,因爲題目中的二維碼已經掃過了,還有貝斯。那應該是base編碼。
這個編碼好像是base32 編碼,那就是解密過程,上面的是加密順序,將它逆轉一下。開始解碼。
這題真的給我解吐了。轉過來轉過去。
得到壓縮包密碼,ThisIsSecret!233
解壓flag.zip得到

flag{Qr_Is_MeAn1nGfuL}

這一道題真是耗費我好長時間。

Crypto

傳統知識+古典密碼

Augenstern
看着是年份,還是六十甲子年份。應該是要換成數字。於是百度對照表。把數字對照出來。而且背面還寫了+甲子再加上60。一甲子是六十
Augenstern
第一想法應該是ASCII碼錶。對照出來。
Augenstern
然後看着這一串字符,沒了頭緒。再看看題,沒有提示了啊。然後發現一個重要的事,題目說傳統密碼加古典密碼。我好像沒用到古典密碼啊。腦中快速過了一遍古典密碼。這麼短的字符串,應該會是凱撒密碼,還有柵欄密碼,其他的一下子沒想太多。
八個字符,柵欄可以分兩欄和四欄,試過之後是兩欄的。
Augenstern
然後凱撒解密。
得到
Augenstern
至於是偏移5位,自己一個一個試出來的,就這個最靠譜。

[NPUCTF2020]這是什麼覓🐎

這個比賽我也看了,當時就看這一道題能看出來點門道,當然我一道題都沒做出來,沒什麼可丟人的。就把這道題復現一下。也是成長過程。
下載得到一個文件,剛開始沒有思路啊,沒有想太多,不知道用什麼方法打開,就直接payload++打開看了一眼,然後發現了
Augenstern
然後,foremost分離文件,得到了壓縮包。
Augenstern
這個我沒想到有什麼古典密碼是這個的,然後看着右下角的紙條,這種有空隙的,是不是鍵盤密碼之類的,再仔細想想不對,放棄,後來看着上面的日曆,在這裏面找,沒啥頭緒。再回頭看那串字符串。發現第一個字母都是大些且F、W、S、S、T、S、W、S有個規律就是他們英文單詞星期的首字母。這個一想就靠譜,就抓住這一點來想。後面跟數字,再看日曆,第一排畫圈了。沒錯的,就是這樣,字母后面跟兩個數字的都是在一週中又重複出現的。所以第一個字母是他們的順序。第二個字母纔是出題人想給的信息。這樣看出來就是
3 1 12 5 14 4 1 18,我不知道爲什麼把1算上了,不是已經劃了嗎??
不過不糾結這個,我到這裏卡住了。所以後面的看的師傅們的博客知道的。然後發現是字母表的,我之前一直在猜ascii碼,就這個沒想到。所以一道題沒做出來。最後flag{calendar}

robomunication

Augenstern
聽得出來是摩斯密碼,別說了,都是辛酸,這個嗶嗶嗶波,純手工。

.... . .-.. .-.. --- .-- .... .- - .. ... - .... . -.- . -.-- .. - .. ... -... --- --- .--. -... . . .--.

在這裏插入圖片描述
再把這個字符串看一下,最後是flag是BOOPBEEP

Unencode

Augenstern
什麼提示都沒有,,就一串編碼,而且看着怎麼也不想不起來什麼密碼是這樣的,見識短淺了。
是UUencode編碼
直接在線網站解就行了。
UUencode在線解碼
flag{dsdasdsa99877LLLKK}

Web

web題先從簡單的來,不然太容易被搞亂心態。

變量1

j4y
代碼審計:

flag In the variable ! <?php  
error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
    $args = $_GET['args'];
    if(!preg_match("/^\w+$/",$args)){
        die("args error!");
    }
    eval("var_dump($$args);");
}
?>

首先注意到的是正則表達式,關於正則表達式的學習,在學習PHP時瞭解過了,這個是要匹配正確的字符串。
\w 匹配任意一個數字或字母或下劃線
如果不匹配則直接die,匹配的話就輸出一個可變變量,重點就在可變變量這裏。我剛開始進行嘗試,構造?args=_lala_結果輸出了NULL,好像與eval函數有關,發現對eval函數了解的不夠,就又查了一遍。
j4y
$$args代表一個變量,所以這裏傳一個全局變量給它,全局變量有九種,可以挨個試,九大全局變量在百度直接搜索就可以搜到。

1|$_POST       [用於接收post提交的數據]
2|$_GET        [用於獲取url地址欄的參數數據]
3|$_FILES      [用於文件就收的處理img 最常見]
4|$_COOKIE     [用於獲取與setCookie()中的name 值]
5|$_SESSION    [用於存儲session的值或獲取session中的值]
6|$_REQUEST    [具有get,post的功能,但比較慢]
7|SERVER       [是預定義服務器變量的一種,所有SERVER[是預定義服務器變量的一種,所有_SERVER [是預定義服務器變量的一種,所有_SERVER開頭的都
8|$GLOBALS     [一個包含了全部變量的全局組合數組]
9|$_ENV        [是一個包含服務器端環境變量的數組。它是PHP中一個超級全局變量,我們可以在PHP 程序的任何地方直接訪問它]

然後,用到了GLOBALS就得到了flag
j4y

web5

f12發現了非常多的編碼,查百度,發現是jother編碼,而且控制檯可解。直接複製所有編碼粘貼到控制檯,回車即可。flag大寫。

頭等艙

打開網頁什麼也沒有,沒有其他提示,回頭看題目,“頭”等艙。header。進行抓包嘗試。成功找到flag
j4y

管理員系統

f12查看有無有用信息,找到一個base64編碼(==),解碼得到test123,應該是密碼了吧。
所以嘗試登陸:發現登錄失敗,而且IP禁止訪問,聯繫本地管理員。
所以可能是XFF。可以改一下,本地管理員那就改成本地的127.0.0.1
可以抓包添加,我直接使用chrome擴展插件添加了,然後刷新網頁,得到flag。

j4y

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章