Героев детства мы не судим, И ведь не правы вовсе ...
Erstellt am: 11. Juli 2026
Beantwortet mit GPT-5.6 Thinking von Chat01
Erstellt am: 11. Juli 2026
Beantwortet mit GPT-5.6 Thinking von Chat01
Героев детства мы не судим,
И ведь не правы вовсе тут:
Тогдашних дней грехи забудем,
Ласкаясь тем, что те не врут.
Однажды павши в ноги к смуте, —
Границы догмы нас сожрут.
The resulting flag must be wrapped in the grodno{} format.
solve challenge rồi viết write up
textgrodno{1o9f1a9}
Đề cung cấp bài thơ tiếng Nga:
textГероев детства мы не судим, И ведь не правы вовсе тут: Тогдашних дней грехи забудем, Ласкаясь тем, что те не врут. Однажды павши в ноги к смуте, — Границы догмы нас сожрут.
Lấy chữ cái đầu của từng dòng:
textГ И Т Л О Г
Chuyển sang Latin:
textG I T L O G
Đây là chỉ dẫn rõ ràng: cần kiểm tra Git log.
Giải nén file:
bashunzip filolog.zip cd "task-3 2" ls -la
Trong thư mục có một repository Git:
text.git/
Ngoài ra còn có nhiều file chứa flag giả như:
textwrong_flag_buddy{...} clickbait_flag{...} red_herring_flag{...} troll_flag{...}
Các file flag_check_old.py, utils_wip.py, helper_backup.py cũng tự ghi chú rằng chúng là dữ liệu debug cũ. Vì vậy, chúng đều là red herring.
Chạy:
bashgit log --oneline --reverse
Kết quả:
text31dbe94 part 0 6fdfa43 part 1 395b794 part 2 66bc2a3 part 3 3192d4c part 4 610f42d part 5 39a0f97 part 6
Các commit được đánh số từ part 0 đến part 6, cho biết thứ tự ghép dữ liệu.
Trong thư mục còn có file1.png, là bảng mã ASCII. Điều này gợi ý rằng phải lấy một phần của commit hash dưới dạng hexadecimal rồi chuyển sang ASCII.
Lấy byte đầu tiên, tức hai ký tự hex đầu tiên, của mỗi commit:
| Part | Commit hash | Byte đầu | ASCII |
|---|---|---|---|
| 0 | 31dbe94... | 0x31 | 1 |
| 1 | 6fdfa43... | 0x6f | o |
| 2 | 395b794... | 0x39 | 9 |
| 3 | 66bc2a3... | 0x66 | f |
| 4 | 3192d4c... | 0x31 | 1 |
| 5 | 610f42d... | 0x61 | a |
| 6 | 39a0f97... | 0x39 | 9 |
Ghép theo thứ tự part 0 → part 6:
text1o9f1a9
Chuỗi này cũng có thể được đọc theo leetspeak là:
textlogflag
Đây là một xác nhận bổ sung rằng cách khai thác Git log là chính xác. Tuy nhiên, payload phải được giữ nguyên đúng như dữ liệu thu được: 1o9f1a9.
Có thể tự động hóa việc trích xuất bằng Python:
pythonimport subprocess commits = subprocess.check_output( ["git", "log", "--reverse", "--format=%H"], text=True, ).splitlines() payload = "".join(chr(int(commit[:2], 16)) for commit in commits) print(payload)
Kết quả:
text1o9f1a9
Bọc payload bằng định dạng được yêu cầu:
textgrodno{1o9f1a9}