Duck You!
Duck You!
Platform: spbctf | Category: Steganography | Type: Challenge | Difficulty: Easy | OS: NA | Author: XESXOR | Date: 2026-03-09 | Status: Solved Techniques: inserted_character_extraction, typo_analysis
Summary
Task: Wikipedia article with hidden message in typos. Solution: Extract extra letters inserted into misspelled words to reveal the flag.
Duck You! - Forensics Kids 2.0
Description
"В этом тексте спрятаны слова, но мы не понимаем, как. Помогите!" (Words are hidden in this text, but we don't understand how. Help!)
Given file duckyou.txt (5020 bytes) - a Wikipedia article about the fulvous whistling duck.
Analysis
Upon careful reading of the text, numerous typos were discovered - extra letters inserted into words. The text looks like a regular Wikipedia article but contains systematic errors.
Key observation: each "misspelled" word contains exactly one extra letter inserted in the middle or at the end of the word.
Solution
Step 1: Identifying all typos
By comparing words with correct English spelling, all inserted letters were identified:
| Word in text | Correct word | Extra letter |
|---|---|---|
| thayt | that | y |
| witeh | with | e |
| buet | but | e |
| paredation | predation | a |
| lharge | large | h |
| disticnctive | distinctive | c |
| Anatoidae | Anatidae | o |
| mainn | main | n |
| Latge | Late | g |
| soutrhern | southern | r |
| ducak | duck | a |
| preoctcupied | preoccupied | t |
| 17s87 | 1787 | s |
| ornithotlogist | ornithologist | t |
| spehcimen | specimen | h |
| moveed | moved | e |
| Brfitish | British | f |
| namle | name | l |
| cygnaus | cygnus | a |
| includge | include | g |
| Mexiican | Mexican | i |
| whistlisng | whistling | s |
| averadges | averages | d |
| maiunly | mainly | u |
| dcown | down | c |
| flankks | flanks | k |
| jiuvenile | juvenile | i |
| dulller | duller | l |
| flianks | flanks | i |
| birdss | birds | s |
| areh | are | h |
| throughiout | throughout | i |
| cleoar | clear | o |
| produuce | produce | u |
| tshe | the | s |
| dlucks | ducks | l |
| whitey-faced | white-faced | y |
| |
Step 2: Assembling the hidden message
Concatenating all extra letters in order of appearance in the text:
yeeahcongratstheflagisREDACTED
Splitting into words:
yeeah congrats the flag is REDACTED
python read-only • copy allowed#!/usr/bin/env python3 """ Duck You! - Text Steganography via Inserted Characters Forensics Kids 2.0 """ # List of found typos: (word_in_text, correct_word, extra_letter) typos = [ ("thayt", "that", "y"), ("witeh", "with", "e"), ("buet", "but", "e"), ("paredation", "predation", "a"), ("lharge", "large", "h"), ("disticnctive", "distinctive", "c"), ("Anatoidae", "Anatidae", "o"), ("mainn", "main", "n"), ("Latge", "Late", "g"), ("soutrhern", "southern", "r"), ("ducak", "duck", "a"), ("preoctcupied", "preoccupied", "t"), ("17s87", "1787", "s"), ("ornithotlogist", "ornithologist", "t"), ("spehcimen", "specimen", "h"), ("moveed", "moved", "e"), ("Brfitish", "British", "f"), ("namle", "name", "l"), ("cygnaus", "cygnus", "a"), ("includge", "include", "g"), ("Mexiican", "Mexican", "i"), ("whistlisng", "whistling", "s"), ("averadges", "averages", "d"), ("maiunly", "mainly", "u"), ("dcown", "down", "c"), ("flankks", "flanks", "k"), ("jiuvenile", "juvenile", "i"), ("dulller", "duller", "l"), ("flianks", "flanks", "i"), ("birdss", "birds", "s"), ("areh", "are", "h"), ("throughiout", "throughout", "i"), ("cleoar", "clear", "o"), ("produuce", "produce", "u"), ("tshe", "the", "s"), ("dlucks", "ducks", "l"), ("whitey-faced", "white-faced", "y"), ] # Extract hidden message hidden_message = ''.join([extra for _, _, extra in typos]) print(f"Hidden message: {hidden_message}") # Output: yeeahcongratstheflagisREDACTED # Decoded: "yeeah congrats the flag is REDACTED"