[Viết lên] Lập trình 01 & Blockchain – WhiteHat Grand Prix 06 – Quals 2020

Tram Ho

Programming 01

Đề bài

Lời giải

Connect thử chúng ta được màn hình như sau:

rồi thử chạy với các N nhỏ (4, 5, 6, 7,…) thì ra dãy sau:

Google thử dãy này thì ra kết quả: https://oeis.org/A173196

a(n-1) is the number of integer-sided scalene triangles with largest side <= n, including degenerate (i.e., collinear) triangles. a(n-2) is the number of non-degenerate integer-sided scalene triangles. – Alexander Evnin, Oct 12 2010

OK, vậy công việc chỉ còn implement công thức tính, kết nối và lấy flag thôi (chú ý offset của N đề bài so với n của dãy):

Chạy và lấy flag:

Vậy flag là WhiteHat{Y0u_h4v3_4_Sm4rt_Br41n}.

Blockchain – Misc

Đề bài

Lời giải

Mới nhìn tên đề bài, cứ ngỡ là là sẽ có chút gì đó liên quan đến blockchain với hash, timestamp, block, vân vân nhưng sau khi làm xong, đơn giản lại là 1 bài crypto trá hình 😧 . Giải nén file zip ta có:

File flag.zip bên trong có một file flag.txt có password, nhiệm vụ của ta sẽ là tìm password để giải mã file này. Xem lại 2 file pem thì thấy public key rất ngắn, thêm hint đề bài Using vulnerable chipset to generate public keys. thì khả năng là sẽ factor được hoặc 2 public keys này sẽ có chung factor. Và đúng là đề bài theo hướng thứ 2. Nhanh chóng chúng ta tìm ra được p, q tương ứng cho 2 key:

cùng xem thử nội dung block1.json:

Ta thử decrypt với private key tương ứng cho 2 message sẽ ra plaintext, và thật ngạc nhiên là cả block 2, block 3 ta có thể làm tương tự (mà không cần quan tâm đến block đằng trước ?!!, có vẻ là do phần checking kia đã bị loại bỏ, chỉ còn lại data bên trong). Code nhanh file giải mã:

và chạy:

Dùng password [email protected]!4P##Ij giải nén file flag.zip ta nhận được một file mới với nội dung là base64, decode ra được 1 file ảnh QR. Scan QR code này ta có flag:

Flag: Whitehat{the_ flag_blockchain_ iot}

Kết

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo