root@thehacksparrow:~/writeups$ SYSTEM ONLINE
root@sparrow:~/writeups$ cat chaining-vulnerabilities.md
// Offensive

Chaining Vulnerabilities

1 Dec 2023 · 9 min read · user access
Executive summary — Chaining Vulnerabilities is a TryHackMe room built around the art of chaining vulnerabilities: weak credentials open the door, a Stored XSS in the user profile lets us inject JavaScript, and the absence of CSRF protection means that script —executed in the administrator's browser— resets their credentials. The result is a full account takeover of the admin panel.
PlatformTryHackMe
Operating systemLinux / PHP
DifficultyEasy
RoomChaining Vulnerabilities
Target IP10.10.177.6

Attack map

[Login]  weak credentials  testuser:password123
   │  access as a low-privilege user
   ▼
[Edit Profile]  «Display Name» field  →  Stored XSS
   │  inject <script src=...> that loads a malicious JS
   ▼
[Attacker HTTP server]  script.js  →  POST to /update_email.php (CSRF)
   │  the admin's browser runs the stored XSS
   ▼
[CSRF]  admin email + password get reset  →  admin:pwnedadmin
   ▼
[Admin Panel]  log in as admin  →  flag

1. Initial access — weak credentials

The application lives at http://10.10.177.6/ and presents a Login form. The first link in the chain is the humblest: a test account left behind by oversight, with a trivial password.

# Open the application in your browser:
http://10.10.177.6/

# Test (default) credentials:
Username: testuser
Password: password123

Result: we log in as a low-privilege user. Not much on its own, but it's the foothold we need to reach the profile features.

Why it matters: a weak or default credential rarely grants direct access to anything critical, but it almost always opens the first door. In a chain, that minimal access is what enables everything else.
🔒 Free account required

This is USER ACCESS content — free to unlock, no payment. The rest of the write-up (and everything else at this level) opens up once you're signed in.

Create a free account