[Write-up] Wargame 3.0 — Misc02

ThongTran
Nov 10, 2020

Nội dung của challenge này:

You should submit WhiteHat{sha1(flag)}
Download file here:
https://drive.google.com/file/d/1z62m3RlPURapEXbldpFMwrhNAWkBTP5q/view?usp=sharing

Trong thư mục nén của challenge này, ta có được 2 file : en.py enc.png với nội dung như sau :

file en.py:

file enc.png:

enc.png

Thử suy nghĩ tí nào !
Nhìn vào file ảnh enc.png thì ko thấy gì đặc biệt, trông có vẻ như 1 bức ảnh vô nghĩa.
Tiếp tục đọc code ở file en.py thì mình biết được file ảnh enc.png được tạo bằng cách sau :
-Ban đầu có 1 file ảnh chứa flag tên là “img.png”, là ảnh có 3 kênh màu
- Mỗi pixel được biến đổi theo công thức sau :


pixel[i] = pixel[i] * key[i] % 251
với :pixel[i] là kênh màu thứ i của pixel
key[i] là phần tử trong mảng key trong file en.py

Dựa vào phân tích trên, mình thử code để đảo ngược lại quá trình trên nhằm mục đích lấy được file ảnh ban đầu có chứa flag.
And here is my code :

Với độ phức tạp như thuật toán của mình đã code thì sau vài chục giây, chương trình đã xuất ra được 1 file ảnh như sau:

Vậy là đã có được flag của challenge rồi.

Bên lề : Bản thân mình thấy challenge này khá thú vị bởi vì mình cũng đã từng thử decrypt một thông điệp thành một bức ảnh trông vô nghĩa như avt facebook của mình :D

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

ThongTran
ThongTran

Written by ThongTran

just a solidity dev interested in security

No responses yet

Write a response