πŸ΄β€β˜ οΈCapture!

License

The following post by anthonyjsaab is licensed under CC BY 4.0arrow-up-right

0 - Introduction

Link to room: https://tryhackme.com/r/room/capturearrow-up-right

This writeup walks you through a room on TryHackMe created by toxicat0r and published on May 5th, 2023.

1 - Context

1a - Given information

"SecureSolaCoders has once again developed a web application. They were tired of hackers enumerating and exploiting their previous login form. They thought a Web Application Firewall (WAF) was too overkill and unnecessary, so they developed their own rate limiter and modified the code slightly. Before we start, download the required files by pressing the Download Task Files button."

The required file is a ZIP archive containing two files: usernames.txt & passwords.txt

1b - What we know so far

  • No WAF

  • Rate limiter exists

  • Bruteforce is required (implied)

2 - Inspecting the website

2a - Screenshots

Front Page before doing anything

Target Website's Front Page

Trying a random login attempt

Trying a random login attempt

Spamming wrong credentials to trigger rate-limiter

Spamming wrong credentials to trigger rate-limiter

2b - What we know so far

  • Website's front page redirects to login page

  • Login page will disclose whether a username exists in the database

  • Rate-limiter trigger after around 10 wrong attempts

  • Rate-limiter cannot be bypassed by clearing cookies, changing user-agent or using a different source IP

  • The CAPTCHA is a math problem returned as text

  • The CAPTCHA always has two operands and one of the following operators: +, - or *

3 - Enumerating correct usernames

3a - Python code used

3b - Output

User enum Output

4 - Finding correct password

4a - Error message for wrong password

Error message for wrong password

4b - Python Code

4c - Output

Password found!

5 - The Flag!

Flag

Last updated