پرش به محتویات

چالش mascot

تو این چلنج یه فایل بش داریم که به ما میفهمونه انکریپشن استفاده شده تایپ ECB هست و این تایپ از انکریپشن AES یه باگ (که البته فیچر هم هست 😂) که باید از این باگ سوء استفاده کنیم تا بتونیم فلگ رو بخونیم

معروف ترین عکس در رابطه با این باگ این عکسه

[PeNgUiN!]

فرمت ppm به صورتی هست که 3 خط اول به عنوان هدر تعریف میشن ما با خط دوم کار داریم که رزولوشن هست 😈

یه اسکریپت پایتون مینویسیم که بیاد رزولوشن رو بروت فورس کنیم

تو یه رایتاپ دیگه تو همین بلاگ اشاره کردم که:

پیکسل های تصاویر از چپ به راست تکمیل میشن و ارتفاع تاثیری در پیکسل ها و ترتیبشون نداره

پس ما فقط پارامتر x رو تغییر بدیم =)))

اسکریپت بدین صورت است

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
b = open("flag.enc", "rb").read()

base = """P6
{} {}
65535
"""
y = 100
for x in range(1000):
    with open("res/{}x{}.png".format(x,y), 'wb') as f:
        f.write(base.format(x,y).encode() + b)

بعد از اجرای اسکریپت، فلگ در رزولوشن 740x100.png مشاهده میشود

Mascot

نویسنده

SafaSafari