Avatar
Part time CTF Player learn every day!!
🌠 I Love Hoshimachi Suisei!! 🌠
🌠 I Love Hoshimachi Suisei!! 🌠

OverTheWire Natas Level 1 → 2 tutorial!!

Login

URL: http://natas2.natas.labs.overthewire.org
Credentials: natas2:TguMNxKo1DSa1tujBLuZJnDUlCcUAPlI

homepage

💡 Tip: you could also log in with curl -u natas2:<password> <URL>, but browser navigation is easier here.

Task

The page looks almost empty, but the HTML source reveals an image reference:

<img src="files/pixel.png">

If there’s an image under /files/, maybe there are more files there. Let’s check the directory.

A little bit of Theory

  • Relative URLs like files/pixel.png point to a subdirectory of the site. Removing the filename often exposes a folder path.
  • Some servers allow directory listing, which lets you browse everything inside.
  • Plain text files (like users.txt) can be opened directly in the browser.

Further reading:

Solution

  1. Open the page source (Ctrl+U / ⌥+⌘+U) and notice files/pixel.png.

  2. Remove the filename and visit: http://natas2.natas.labs.overthewire.org/files/

    You’ll see a directory listing with pixel.png and users.txt

    index

  3. Click users.txt and read its contents:

    users.txt

    Inside, one of the lines reveals the password for natas3.

  4. Use that password to log in to Level 3:

Password

3gqisGdR0pjm6tpkDKdIWO2hSvchLeYH

Troubleshooting

  • Getting 403/404? → Ensure the path ends with /files/.
  • Can’t see the listing? → Some browsers render differently; try Chrome/Firefox.
  • Password not obvious? → Look for the line beginning with natas3:.

Nice! 🎉 You followed a hidden relative path, explored a directory, and grabbed the password for natas3.


Thanks for reading!

Until next time — Otsumachi!! 💖☄️✨

Cinema

all tags

GOT-overwrite aboutme aead ai alphanumeric-shellcode apt argc0 argon2 aslr assembly asymmetric atoi automation backbox bandit base64 bash beginner behemoth binary binary-exploitation binary-to-ascii blackarch blind blind-sqli blogging blue-team bruteforce buffer-overflow buffer-overwrite c caesar canary capabilities checksec command-injection commonmark cookie cron crypto cryptography ctf cutter cyberchef cybersecurity defenders detection dev directory-traversal dnf docs drifter ecc education elf env envp exploitation finale forensics format-string formulaone frequency frequency-analysis gcc gdb getchar gfm ghidra github-pages governance gpg guide hashing hkdf http jekyll jmpbuf kali kasiski kdf kernel keylength kramdown krypton lab ld_preload leviathan lfi lfsr linux linux-syscall llmops log-poisoning ltrace manpage markdown maze memcpy mitigations mitmproxy mlops narnia natas networking newline-injection nonce nop-sled nx object-injection obsidian openssl osint overflow overthewire package-manager pacman parrot path path-hijacking pathname php pie pkc pki pointer-trick pqc priv-esc privilege-escalation provable-security pwn pwntools pyshark python race-condition radare2 rag randomness recon red-team redirect relro requests ret2env ret2libc reverse-engineering reversing ricing roadmap rop rot13 rsa scapy security seed seo serialization session setjmp-longjmp setuid shell shellcode smoke soc sockets sprintf sql-injection srop stack-canary stack-overflow strace strcmp strcpy streamcipher strings strncpy strtoul substitution suid suisei symlink symmetric terminal test threat-intel time-based tls troubleshooting tshark type-juggling ubuntu udp utumno vigenere virtualbox virtualization vmware vortex walkthrough web windows wireshark writing wsl x86
dash theme for Jekyll by bitbrain made with