巔峰極客 2019部分題解 writeup


巔峰極客 2019部分題解 writeup

Misc

簽到

1,直接丟進ida,搜索flag字符串,即可得到flag: flag{72643b92-37b4-4f7c-b40e-57d857869200}

MBP是最好的!

題目描述: enjoy yourself

1,下載附件得到一個壓縮包,壓縮包中包含了一個ctf.dmg文件。

2,使用UltraISO打開該dmg文件,在.Trashes/501文件夾下面得到flag.zip文件,但是發現此文件已損壞,如圖:

3,這題misc考察是取證相關知識,我們首先使用UltraISO將dmg文件轉換為iso文件,然后使用R-STUDIO進行文件恢復,再次打開.Trashes/501文件夾下面得到flag.zip文件即可發現該文件經過加密了,然后使用ziperello進行暴力破解即可。

4,成功拿到flag

steganography

題目描述: 有一天,V的同學給了他一張圖片,說里面藏着巨大的秘密。你能幫V找出秘密么?

1,使用binwalk對圖片中隱藏的文件進行分離,得到一個40FBE.zip和一個0kb的leaf.pyc文件:

2,對40FBE.zip文件進行解壓縮操作,得到flag.xml文件:

3,推測20代表0,09代表1,使用winhex打開flag.xml文件,編輯》復制所有》十六進制數值:,然后使用python進行轉換:

# with open("flag.txt", "r") as f:
#     flag = f.read()

crypto = "2009092020090920200909200909202020090920202020092009092020090909200909090920090920200909202009202020090909202020202009092020202020200909200909202020090920202009202009092020202020200909200920092009092020090920202009200909200920090920200920092009092020200909202009092009202020200909202009092020092009092009"

flag = ""
for i in range(0, len(crypto), 2):
    if crypto[i] == "2":
        flag = flag + "0"
    if crypto[i] == "0":
        flag = flag + "1"


for i in range(0, len(flag), 8):
    print(chr(int(flag[i:i+8], 2)), end="")

得到flag的一半:

4,繼續分析,從40FBE.zip中提取出docx文件,或者直接將40FBE.zip改為40FBE.docx即可,然后打開文件,發現一行行的經過base64編碼過的數據,由此可以確定可能是base64隱寫,於是將40FBE.docx文件中的base64數據復制到stegoFile.txt文件中,使用腳本直接解密:https://github.com/cjcslhp/wheels/blob/bca4381c29d09dd668604119e2d5e6fa9295eae7/b64stego/b64DeStego.py

import base64

def deStego(stegoFile):
    b64table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
    with open(stegoFile, 'r') as stegoText:
        message = ""
        for line in stegoText:
            try:
                text = line[line.index("=") - 1:-1]
                message += "".join([ bin( 0 if i == '=' else b64table.find(i))[2:].zfill(6) for i in text])[6-2*text.count('='):6]
            except:
                pass
    return "".join([chr(int(message[i:i+8],2)) for i in range(0,len(message),8)])

print(deStego("stegoFile.txt"))

由此得到壓縮包的密碼:

I4mtHek3y@

5,解密壓縮包,得到leaf.pyc文件,首先可以進行反編譯:得到提示"I am not the reverse"

6,推斷此題為pyc隱寫,使用腳本:https://github.com/AngelKitty/stegosaurus

得到另一半flag:57f3-8cb4-1add2793f508}

7,組合起來得到最終flag: flag{2806105f-ec43-57f3-8cb4-1add2793f508}

web

aweb_1

1,此題目主要考察二次注入,再uploadlabs中有類似的訓練題,只是此處需要使用/**/進行繞過:

注冊時郵箱使用:1406753911@qq.com 用戶名使用:admin'/**/and/**/'1'='1 密碼使用:123456

登錄時候使用:1406753911@qq.com 123456
即可成功登錄並查看flag。

upload

題目描述:所有的東西都給你了,自己好好尋找利用吧。

1,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM