Level 7 → Level 8
Completed📋 Level Information
🎯 Level Goal
The password for the next level is stored in the file data.txt next to the word millionth.
Challenge: The data.txt file is very large. You need to efficiently find the line containing "millionth" and extract the password.
🔧 Solution Steps
Step 1: Connect to Bandit7
Use the password from Level 6 to log in:
ssh bandit7@bandit.labs.overthewire.org -p 2220
Password: z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S
Step 2: Check the data.txt File
First, let's see what we're dealing with:
ls -lh data.txt
You'll see the file is quite large (several MB).
Step 3: Use grep to Find "millionth"
Search for the word "millionth" in the file:
grep "millionth" data.txt
Step 4: Get the Password
The output will show the line containing "millionth" and the password:
millionth TESKZC0XvTetK0S9xNwm25STk5iWrBvP
The password for Level 8 is: TESKZC0XvTetK0S9xNwm25STk5iWrBvP
🔄 Alternative Methods
Method 2: Using grep with Context
If you want to see lines around the match for context:
grep -C 2 "millionth" data.txt
This shows 2 lines before and after the matching line.
Method 3: Using awk
You can also use awk to find and extract the password:
awk '/millionth/ {print $2}' data.txt
Method 4: Using sed
sed can also extract the specific line:
sed -n '/millionth/p' data.txt
💡 Explanation
This level introduces text processing with grep and dealing with large files efficiently.
grep Command Explained:
- grep - Global Regular Expression Print
- Searches for patterns in files
- Very efficient even with large files
- Returns only matching lines
Why grep is Efficient:
- Doesn't load entire file into memory
- Processes files line by line
- Stops searching after finding the match (with default options)
- Perfect for large log files and datasets
Common grep Options:
- -i - Case insensitive search
- -n - Show line numbers
- -C num - Show context lines around match
- -v - Invert match (show non-matching lines)
⚠️ Common Mistakes
- Wrong search term: Misspelling "millionth"
- Case sensitivity: "Millionth" vs "millionth"
- Trying to open the file: Using cat or less on large files can be slow
- Not using quotes: Always quote your search patterns
💡 Pro Tips
- Use
grep -ifor case-insensitive searches - Combine with
wc -lto count matches:grep "pattern" file | wc -l - Use regular expressions for complex patterns
- You can grep multiple files:
grep "pattern" *.txt - Use
grep -rfor recursive directory searches