Đây là bài thứ hai trong loạt các câu hỏi của picoCTF 2013. Điểm số sẽ tăng theo mức độ khó từng câu. Nhưng thật ra kinh nghiệm tui chơi vài site cũng như lần thi vòng loại ở TDT thì bạn đừng rập khuôn. Chơi CTF mà rập khuôn là tiêu!

Hồi trước đi thi cho biết (mà quả thật là cho biết thiệt ;_; ) thì câu 50 điểm tôi không giải được =))) Còn câu 100 điểm thì sau khi ngồi….brute force mỏi mòn hơn 2 tiếng nó cũng ra! hahaha…

Quay trở lại picoCTF 2013. Tới bài Read the Manual này, ta sẽ được cung cấp đề như sau.

read-the-manual

Dịch đề bài: Ở mặt sau của tấm che bị bể, bạn đọc được hướng dẫn phục hồi. Bạn cần phải tìm cho ra chìa khóa khôi phục khẩn cấp để khởi động robot vào chế độ autoboot. Nhưng trong quá trình đọc hướng dẫn này, bạn gặp phải rắc rối khi mà nó đã bị mã hóa nội dung bằng mã Caesar.

hahaha….Trang này thú vị là ở chỗ này! Nó cực kỳ thích hợp cho ai đang tập tành luyện đầu óc suy nghĩ để chơi CTF. Nếu lượn 1 vòng những cuộc thi lớn hay các site chơi chuyên nghiệp, ít ai tiết lộ đề hở như vầy cả.

Với bài này, ta biết rằng, sau khi nhấp vào link chỗ manual, ta sẽ thu được một bảng hướng dẫn đã mã hóa toàn bộ bằng mã Caesar.

Nói sơ qua về mã Caesar một chút. Đây là mã dẫn đầu trong bất kỳ cuốn sách nào chuyên về mật mã học. Loại mã hóa này được vua Julius Caesar nghĩ ra trong cuộc chiến  xứ Gaul. Để chuyển đi các mật thư mà không sợ bị quân địch bắt và đọc được, ông đã mã hóa bằng cách như sau: viết ra một bảng chữ cái thường, sau đó mã hóa ký tự gốc bằng một ký tự khác đã được dịch chuyển n vị trí. Ý tưởng gốc ban đầu là dịch chuyển 3 vị trí, do đó chữ a trong bản rõ sẽ là chữ D trong bản mã hóa. Quy ước chung là văn bản gốc sẽ viết thường, văn bản được mã hóa sẽ viết bằng chữ in hoa.

Mật mã này bây giờ ứng dụng thì chắc chỉ còn trong mấy trò sinh hoạt đội thiếu niên cấp 2 =))) Do chỉ có 25 trường hợp mã hóa, nếu sử dụng thì brute force một phát chưa tới 2 giây.

Đó là tốc độ của máy tính, chứ nếu đưa một văn bản mã hóa bằng Caesar và thậm chí cho biết luôn số n bước dịch chuyển thì cũng chưa chắc bằng tay mà bạn giải ra trong vòng 2 giây =)))

Quay trở lại câu CTF này, sau khi nhấp vào liên kết ta sẽ được đưa tới trang chứa hướng dẫn (manual) đã mã hóa te tua bằng mã Caesar.

screenshot_20161218_091237

Nhưng thật ra mình đừng có lao đầu vào lật đật tìm cách giải mã hết toàn bộ mớ này. Hãy lướt một cái từ trên xuống dưới, và phát hiện thử xem có điểm nào khả nghi không. Đây là trang dành cho người mới chơi, nên bạn phải tập những kỹ năng phân tích như vậy.

Nếu nhìn ngay ở khúc đầu, ta sẽ thấy có điểm nghi vấn. Ngay ở dòng thứ 2, mặc dù đã được mã hóa rồi, nhưng nhìn vẫn thấy có cụm từ trong dấu ngoặc:

‘hathfmlamijx’

Vậy nếu suy luận của mình không sai, ta chỉ cần giải mã cả dòng đó thôi. Bạn có thể tìm trên Google với từ khóa Caesar decrypt và dùng bất kỳ trang web nào mình thích để giải mã. Lưu ý là hãy tìm những trang có chức năng tự đoán vị trí hoán đổi như tôi sử dụng bên dưới hình, sẽ tiết kiệm thời gian hơn rất nhiều.

Screenshot_20161218_092031.png

Kết quả không ngoài dự đoán =))) Mặc dù sau khi giải mã ra, key ta cần tìm vẫn không có nghĩa, nhưng nó đúng! Trong CTF, như đã nói ở kỳ trước, rất nhiều flag chỉ đơn giản là một chuỗi ký tự đã bị băm vô nghĩa.

Với Read the Manual này, flag thu được sẽ là: wpiwubapbxym

VÕ TÌNH THƯƠNG

votinhthuong9@gmail.com

Advertisements