NewStarCTF2023 Reverse Week3---Let‘s Go Wp

分析

程序打开后结合题目可以发现是 GO语言。

在GO语言中,main_init 要先于 main 函数运行。
NewStarCTF2023 Reverse Week3---Let‘s Go Wp_第1张图片
NewStarCTF2023 Reverse Week3---Let‘s Go Wp_第2张图片

在这里对一个iv做了处理。

用插件Signsrch发现AES加密

NewStarCTF2023 Reverse Week3---Let‘s Go Wp_第3张图片

知道是AES后,就需要找密文,key和iv了。

NewStarCTF2023 Reverse Week3---Let‘s Go Wp_第4张图片

NewStarCTF2023 Reverse Week3---Let‘s Go Wp_第5张图片

密文应该就是前面的十六进制字符串。

key和iv需要在函数前下断点动调

NewStarCTF2023 Reverse Week3---Let‘s Go Wp_第6张图片
NewStarCTF2023 Reverse Week3---Let‘s Go Wp_第7张图片

key和iv都是NewStar!NewStar!

但是需要注意的是,最初提到的iv做了初始化处理。要再异或回去。

得到: |WEaFS@\x13|WEaFS@\x13

exp

from Crypto.Cipher import AES
enc = bytes.fromhex("ee01674b13ff8dd86f8e481aa86f5d25e773a3fd0338f60988cb738b8b178c44")
key = b"NewStar!NewStar!"
iv = b"|WEaFS@\x13|WEaFS@\x13"
aes = AES.new(key, mode=AES.MODE_CBC, iv=iv)
print(aes.decrypt(enc))

# flag{It's_time_to_Go!!!Let's_Go}

你可能感兴趣的:(CTF比赛WP,golang,开发语言,后端,CTF,学习,reverse)