001 this_is_flag
難度:2.0
題目描述:Most flags are in the form flag{xxx}, for example:flag{th1s_!s_a_d4m0_4la9}
內心:這是啥???想了想既然是新手區第一題那就沒什么復雜的東西,交上里面的flag果然過了
flag{th1s_!s_a_d4m0_4la9}
002 pdf
難度:3.0
題目描述:菜貓給了菜狗一張圖,說圖下面什么都沒有
題目附件為一個pdf,內容如下
根據題目提示“圖下面什么都沒有”,可以猜測flag隱藏在圖片下面
鼠標在圖片上胡亂划拉划拉,發現在中間部分的時候鼠標變成了I的形狀,說明下方有字
雙擊全選復制粘貼,得到flag
flag{security_through_obscurity}
003 如來十三掌
難度:3.0
題目描述:菜狗為了打敗菜貓,學了一套如來十三掌。
拿到word,扔到與佛論禪里解密一下
看着像是base64,扔進去解密一下發現是亂碼emmmmmm
回頭看題,如來十三掌可以猜測是通過了rot13加密,扔進去解密一下得到
扔回base64解密,即可得到flag
flag{bdscjhbkzmnfrdhbvckijndskvbkjdsab}
004 give_you_flag
難度:4.0
題目描述:菜狗找到了文件中的彩蛋很開心,給菜貓發了個表情包
附件為一個gif,使用stegsolve逐幀看,在第50幀有二維碼出現
看起來缺了點什么,補全三個小方塊,得到完整的二維碼
掃描即可得到flag
flag{e7d478cf6b915f50ab1277f78502a2c5}
005 gif
難度:4.0
題目描述:菜狗截獲了一張菜雞發給菜貓的動態圖,卻發現另有玄機
打開文件,發現全是黑白圖片,考慮到有可能是二進制編碼或摩斯編碼
先試了試二進制,把白色的當做0,黑色的當做1,是對的,可以不試摩斯了哈哈哈
flag{FuN_giF}
006 掀桌子
難度:4.0
題目描述:菜狗截獲了一份報文如下c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2,生氣地掀翻了桌子(╯°□°)╯︵ ┻━┻
看題目給的字符串,像是16進制,兩個一組轉化為十進制(本地pycharm不會用...用的洛谷在線IDE,感謝kkk)
最大的250,最小的120,而ascii從32開始,最大為128,猜想減去128,剛好最小的到32
得到flag,就是...freshdog是啥?新鮮的...狗?
flag{hjzcydjzbjdcjkzkcugisdchjyjsbdfr}
007 stegano
難度:5.0
菜狗收到了圖后很開心,玩起了pdf 提交格式為flag{xxx},解密字符需小寫
打開后全選復制到記事本里,發現一段AB字符
老規矩猜測是摩斯電嗎,A用.替換,B用-替換解密得到
替換成大小寫得到flag
flag{1nv151bl3m3554g3}
008 堅持60s
難度:4.0
打開后是個小游戲,玩了幾局最高只能堅持40多s,我太菜了
使用winhex打開,發現就可以直接看到flag,對flag內容Base64解密一下就可以
然后不久后同學也做到了這道題,向我秀了一波她的騷操作
flag{DajiDali_JinwanChiji}
009 ext3
難度:5.0
先上winhex,搜索一下字符串,可以看到有個flag.txt
拿到kali里分解一下,然后搜索找到flag.txt
打開后是一串base64,解碼得到flag
flag{sajbcibzskjjcnbhsbvcjbjszcszbkzj}
010 SimpleRAR
先解壓,看到里面有個flag.txt,但是打開后看到flag is not here
丟進winhex瞧瞧,可以發現有個secret.png
往上看看,問題很明顯,secret.png 頭部標識錯誤,修改 7A 為 74,如下圖,修改后便可以解壓得到 secret.png
再看一眼secret.png可以發現其實是一個gif文件,用stegsolve逐幀查看
把兩個拼起來然后補上定位符,掃一掃就可以拿到flag
flag{yanji4n_bu_we1shi}
011 base64stego
難度:5.0
首先一點開,需要密碼,猜測是個zip偽加密,扔進winhex一看,可以看到09 00,果然
修改09 00 為00 00 ,保存后便可以順利解壓拿到stego.txt
正如題目所言,是一個base64stego,放進腳本里跑一跑,就可以拿到flag了,腳本如下:
# -*- coding: cp936 -*-
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('stego.txt', 'rb') as f:
bin_str = ''
for line in f.readlines():
stegb64 = ''.join(line.split())
rowb64 = ''.join(stegb64.decode('base64').encode('base64').split())
offset = abs(b64chars.index(stegb64.replace('=','')[-1])-b64chars.index(rowb64.replace('=','')[-1]))
equalnum = stegb64.count('=') #no equalnum no offset
if equalnum:
bin_str += bin(offset)[2:].zfill(equalnum * 2)
print ''.join([chr(int(bin_str[i:i + 8], 2)) for i in xrange(0, len(bin_str), 8)])
運行結果如下:
flag{Base_sixty_four_point_five}
012 功夫再高也怕菜刀
難度:6.0
附件是個流量包,先搜索一下flag.,發現有不少東西,扔進kali里分離一下
發現一個flag.txt,但是打開需要密碼
接下來再在wireshark分析一下,在1150處追蹤tcp流,可以看到這么一大坨
從FF D8 FF開始復制到FF D9,保存為jpg后可以得到一張圖片
這就是txt的密碼,輸進去便可以拿到flag