Sanity Check

General Easy ⚠️ MANDATORY

Challenge Information

  • Challenge Name: Sanity Check (Challenge 2)
  • Category: General / Document Analysis
  • Source File: Rulebook INSTRUO'14.pdf
  • Flag: EOF{h3r3_w3_90_4941n}
  • Difficulty: Trivial (Mandatory Challenge)

⚠️ CRITICAL WARNING:

This question is COMPULSORY and will lead to direct Disqualification if not solved. The answer flag is provided in the Rulebook_EOFool PDF, just copy-paste and submit it.

Solution Methodology

Phase 1: Understanding the Requirement

Key Points:

  • Flag is explicitly provided in the rulebook PDF
  • This is a mandatory "sanity check" to ensure participants read the rules
  • Simple task: find and submit the flag
  • No complex techniques required - just document reading

Purpose:

Ensures all participants:

  1. Have downloaded the rulebook
  2. Can extract text from PDFs
  3. Understand the flag format
  4. Read the competition rules before starting

Phase 2: Locate the PDF File

cd /home/uttam/Downloads
ls -lh "Rulebook INSTRUO'14.pdf"

Confirmation: PDF file exists and is accessible

Phase 3: Extract and Search for Flag

pdftotext "Rulebook INSTRUO'14.pdf" - | grep -i "EOF{" -A 2 -B 2

Command Breakdown:

  • pdftotext - Converts PDF to plain text
  • - - Output to stdout (instead of file)
  • grep -i "EOF{" - Case-insensitive search for flag format
  • -A 2 -B 2 - Show 2 lines After and Before match for context

Output:

Flag Format: EOF{text}

Example: EOF{h3r3_w3_90_4941n}

This is the sanity check flag...

Phase 4: Verify It's the Sanity Check Flag

pdftotext "Rulebook INSTRUO'14.pdf" - | grep -i "sanity\|h3r3_w3_90" -A 3 -B 3

Output:

Rule #5: Flag Format and Submission

All flags in this CTF will follow the format EOF{text}.
The sanity check flag for this competition is: EOF{h3r3_w3_90_4941n}

This flag must be submitted to participate in the CTF.
Failure to submit this flag will result in disqualification.

Phase 5: Flag Analysis (Leetspeak Decoding)

echo "EOF{h3r3_w3_90_4941n}"

Flag Breakdown:

Leetspeak Letter Word
h3r3 here here
w3 we we
90 go go
4941n again again

Complete Message: "Here we go again"

✅ SUCCESS! Flag: EOF{h3r3_w3_90_4941n}

The flag humorously references that CTFs often have recurring patterns, and "here we go again" suggests the cyclical nature of CTF competitions.

Alternative Solution Methods

Method 1: GUI PDF Reader

  1. Open Rulebook INSTRUO'14.pdf in any PDF viewer
  2. Use Find function (Ctrl+F / Cmd+F)
  3. Search for "sanity" or "EOF{"
  4. Copy the flag from Rule #5
  5. Submit: EOF{h3r3_w3_90_4941n}

Method 2: Full Text Extraction

# Extract entire PDF to text file
pdftotext "Rulebook INSTRUO'14.pdf" rulebook.txt

# Search for flag
grep "EOF{" rulebook.txt

# Read context around flag
grep "sanity" rulebook.txt -A 5 -B 5

Method 3: Python Script

#!/usr/bin/env python3
import PyPDF2
import re

with open("Rulebook INSTRUO'14.pdf", 'rb') as file:
    pdf_reader = PyPDF2.PdfReader(file)
    for page in pdf_reader.pages:
        text = page.extract_text()
        if "EOF{" in text:
            # Extract and print flag
            flags = re.findall(r'EOF\{[^}]+\}', text)
            for flag in flags:
                print(flag)

Tools Used

Tool Purpose
pdftotext PDF to text converter (poppler-utils)
grep Pattern matching and text search
PDF Reader Adobe Reader, Evince, Okular, or online tools
Python PyPDF2 Alternative programmatic PDF reading

Installation (if needed)

# Ubuntu/Debian
sudo apt-get install poppler-utils

# Mac (Homebrew)
brew install poppler

# Fedora/RHEL
sudo dnf install poppler-utils

# Verify
pdftotext -v

Key Insights

Why This Challenge Exists

  • Rule enforcement - Ensures participants read the rulebook
  • Participant verification - Confirms active participation
  • Format introduction - Teaches the EOF{} flag format
  • Barrier to entry - Filters out non-serious participants
  • Disqualification mechanism - Mandatory completion requirement

Common Mistakes to Avoid

❌ Mistake ✅ Solution
Skipping the challenge ALWAYS submit - it's mandatory!
Not reading rulebook Read thoroughly - critical info is there
Overthinking It's plainly stated - just find and copy
Wrong format Include full format: EOF{h3r3_w3_90_4941n}
Typos from manual typing Copy-paste as instructed

Summary

Sanity Check is a mandatory first-step challenge that serves multiple purposes:

  1. Verification - Confirms participants have the rulebook
  2. Education - Teaches the EOF{} flag format
  3. Filter - Ensures only serious participants compete
  4. Rule enforcement - Makes reading the rules mandatory

The flag EOF{h3r3_w3_90_4941n} (meaning "here we go again") adds humor while serving its practical purpose. This challenge has zero difficulty but maximum importance - it's the gateway to participating in the CTF.

⚠️ REMEMBER:

Failure to submit this flag = Disqualification

Always read the rulebook thoroughly in CTF competitions. Critical information, including flags, may be hidden in plain sight within official documentation.