攻防世界misc新手區writeup

this_is_flag

flag{th1s_!s_a_d4m0_4la9}

 

ext3

下載下來拿到kali下看文件類型file 21f60c9089224bc198fe7c5d03ad9001

Linux rev 1.0 ext3 filesystem data

可以將它系統掛載到kali上:

mount linux /mnt

掛載上後看一/mnt/下的文件,用find ./ -name "flag.txt"命令查找

得到flag.txt文件內容爲:ZmxhZ3tzYWpiY2lienNrampjbmJoc2J2Y2pianN6Y3N6Ymt6an0=

base64解碼得到

flag{sajbcibzskjjcnbhsbvcjbjszcszbkzj}

 

give_you_flag

下載下來是gif文件用工具 stegosolve.jar分析

發現其中有一幀含有二維碼

提取出來,用畫圖軟件補上殘缺的二維碼的三個角

然後二維碼工具掃描得到flag

flag{e7d478cf6b915f50ab1277f78502a2c5}

 

pdf

下載打開發現是個圖片

ctrl+a全選ctrl+c複製,再粘貼到記事本,得到flag

flag{security_through_obscurity}

 

stegano

pdf文件,打開許多文字,linux中查看pdf信息:使用命令pdfinfo

得到Tm9wZSAsIG5vdCBoZXJlIDspCg==base64解碼後是Nope , not here ;)

再ctrl+a全選ctrl+c複製,再粘貼到記事本,得到一串

BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB

考慮是摩爾斯電碼將A替換爲.B替換爲-

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

解碼得到

congratulations,flag:1nv151bl3m3554g3

 

SimpleRAR

1、打開附件RAR壓縮包,提示有一個文件 secret.png已損壞,打開flag.txt,裏面沒有flag,那麼flag應該就在損失的文件中。

2、我們使用 winhex 對RAR文件進行修復 ,ctrl+f搜索flag。"not here"這部分內容就是flag.txt的,那麼下一個文件內容就是在A8 3C 7A開始,問題出現在7A,這是HEAD_TYPE標識,74纔是表明這一塊區域是一個文件。把7A修改爲74,保存,就可以解壓RAR文件了。

3、解壓出來一個新的文件secret.png,再扔進winhex,發現這原本是一個gif動態圖片,47 49 46 就是GIF格式的文件頭部,有關部分文件的文件頭格式可以轉載到:https://www.cnblogs.com/lwy-kitty/p/3928317.html

4、那就把文件後綴名改爲gif,既然是動態圖片,就用stegsolve.jar打開,一片空白,應該是LSB隱寫,

有關LSB隱寫的原理,可轉載到:https://segmentfault.com/a/1190000016223897?utm_source=tag-newest

不停地點擊”>“,直到顯現出半張二維碼圖。

5、另一半應該在其它幀中,點擊FrameBroswer逐幀分析,發現還有另一幀,保存下來,格式爲png,如果是bmp會出錯,同前者做法一樣,我們找到另一半二維碼,PS拼接二維碼,再修復缺失的一個角,掃碼即可得到 flag。

flag{yanji4n_bu_we1shi}

 

堅持60s

下載打開發現是一個java做的遊戲,用java反編譯工具反編譯,在文件中可以找到PlaneGameFrame.class中找到flag

但內容是經過base64編碼了,解碼後得到:

flag{DajiDali_JinwanChiji}

 

gif

一大堆的黑白圖片,進行白爲0黑爲1的轉換得到:01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101

二進制轉字符串得:flag{FuN_giF}

 

掀桌子

一串密文:c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2

發現字符串由0-9、a-f組成,我們知道2位十六進制可表示1個字節,寫腳本將該字符串兩兩分組轉換成字節,發現所有字節均大於128,我們又知道ASCII碼錶示範圍是0-127,於是每一個字節都減去128,再轉換成字符串,得到flag

解密方法,兩個一位,16進制轉10進制,然後減去128再轉成字符

python腳本

string = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"

flag = ''

for i in range(0,len(string), 2):

    s = "0x" + string[i] + string[i+1]

    flag += chr(int(s, 16) - 128)

print(flag)

得到

Hi, FreshDog! The flag is: hjzcydjzbjdcjkzkcugisdchjyjsbdfr

 

如來十三掌

與佛論禪解密:http://www.keyfc.net/bbs/tools/tudoucode.aspx

得到base64碼:MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9

但是要先進行ROT13然後再base64解碼:

flag{bdscjhbkzmnfrdhbvckijndskvbkjdsab}

 

base64stego

下載得到zip文件打開需要密碼

是僞加密,用winrar修復功能修復下可打開

得到一串base64加密文件,解密幾行得到

Steganography is the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message, a form of security through obscurity.

翻譯:

隱寫術是一種藝術和科學,以隱藏信息的方式,除了發送者和預期接收者之外,沒有人懷疑消息的存在,通過默默無聞的安全形式。

base64隱寫,解密python腳本:

#coding=utf-8

def get_base64_diff_value(s1, s2):

    base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'

    res = 0

    for i in xrange(len(s2)):

        if s1[i] != s2[i]:

            return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))

    return res

 

def solve_stego():

    with open('stego.txt', 'rb') as f:

        file_lines = f.readlines()

        bin_str = ''

        for line in file_lines:

            steg_line = line.replace('\n', '')

            norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')

            diff = get_base64_diff_value(steg_line, norm_line)

            print diff

            pads_num = steg_line.count('=')

            if diff:

                bin_str += bin(diff)[2:].zfill(pads_num * 2)

            else:

                bin_str += '0' * pads_num * 2

            print goflag(bin_str)

 

def goflag(bin_str):

    res_str = ''

    for i in xrange(0, len(bin_str), 8):

        res_str += chr(int(bin_str[i:i + 8], 2))

    return res_str

 

if __name__ == '__main__':

    solve_stego()

得到

Base_sixty_four_point_five

flag{Base_sixty_four_point_five}

 

功夫再高也怕菜刀

foremost分離文件,得到一個加密的壓縮包,點進去查看發現一個flag.txt文件,wireshark下查找flag.txt字符串,追蹤TCP流,最終在第1150個包發現一段圖片的16進制編碼,將其用winhex另存爲一個圖片,得到壓縮包的密碼,解壓得到flag.

flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}

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