Skip to main content

Settings

Color Mode

Theme Skin

Background

Appearance preferences are saved in this browser only.

Environment

Current Environment Production

Built with JEKYLL_ENV=production. Changes require deployment.

Theme & Build

Jekyll v3.10.0
Last BuildOct 17, 19:54

Page Info

Layout default
Collection none
Path overthewire/narnia/narnia9.md
URL /docs/wargames/narnia/narnia9/
Date 2026-04-07

Source Code

Set repository: USER/REPO in your _config.yml to enable source-code shortcuts.

Narnia9

Narnia Level 9 — the final Narnia page in this mirror; apply everything from Levels 0–8 and consolidate your exploitation skills.

Table of Contents

Source: This content is aggregated from overthewire (MIT). Visit the original repository for the latest version.

There is no information for this level, intentionally.

Study guide

Level map: logged in as narnia9. This is the highest-numbered Narnia page; the upstream index counts ten levels, narnia0 to narnia9.

What this level teaches

Putting the whole Narnia toolbox together without a hint about which technique to use.

Key ideas

  • Diagnose before attacking. Read the source, identify the unsafe operation, and decide whether you are looking at an overflow, a format string, a pointer problem or something else.
  • Use all your tools. gdb for layout, objdump or ghidra for the compiled view, and a short script for building payloads.
  • Check what the goal is. As in earlier levels, the program is setuid to another user; reading that user’s file under /etc/narnia_pass/ is the objective.

How to approach it

  1. Read the source carefully and annotate it.
  2. Reproduce a crash or unexpected behaviour before writing any exploit.
  3. Build the payload in small, tested steps.

What to do next

  • Re-derive one earlier exploit from scratch using only the source and gdb.
  • Move on to Behemoth. From the games index, Behemoth is the next step; it does not hand you source code.
  • Learn the defences. Read about stack canaries, non-executable memory and address randomisation to see why today’s exploits are harder.