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 và enc.png với nội dung như sau :
file en.py:

file 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