data.txt is mostly binary data, but the password is one of the few human-readable strings inside it, preceded by several = characters — strings pulls out the readable text, and grep narrows to the marked line.
| Platform | OverTheWire Bandit |
| Category | Linux Fundamentals |
| Level | 9 → 10 |
| Difficulty | Beginner |
| Technique | strings + grep for a marker pattern |
This file looks like garbage when opened directly — mostly non-printable binary bytes. Somewhere inside it, a handful of human-readable strings survive, and the level says the password is one of them, marked by leading equals signs.
"Level Goal: The password for the next level is stored in the file data.txt in one of the few human-readable strings, preceded by several '=' characters."
Try viewing the raw file and notice it's mostly unprintable binary noise — cat or opening it in a plain editor produces garbled output:
file data.txt
data.txt: data
strings scans a file and prints only the sequences of printable characters, skipping the binary noise around them:
strings data.txt
(a short list of readable strings scattered among the output)
The level told you the real string is preceded by several = characters — grep for a line starting with one or more of them:
strings data.txt | grep '^='
========== [PASSWORD FOR bandit10]
The password is deliberately hidden — follow the method, you've earned it. 💪
strings is the standard first move on any file that looks like binary garbage — it doesn't care what the file format actually is, it just reports every run of printable characters it finds. Combined with a targeted grep, it turns "needle in a haystack of binary noise" into a one-line command.
strings extracts printable text from any file, regardless of its actual format^= in a grep pattern anchors the match to the start of the linestrings piped into a targeted grep — reappears constantly in reversing and forensics challenges, not just this oneDiscuss this writeup with the community on the CTFdojo Discord.
Join the Discord →