logon | Mar 3, 2023
Introduction
Welcome to my another writeup! In this picoGym challenge, you'll learn: Exploiting Broken Access Control (BAC)! Without further ado, let's dive in.
- Overall difficulty for me (From 1-10 stars): ★☆☆☆☆☆☆☆☆☆
Background
Author: bobson
Description
The factory is hiding things from all of its users. Can you login as Joe and find what they've been looking at? https://jupiter.challenges.picoctf.org/problem/15796/ (link) or http://jupiter.challenges.picoctf.org:15796
Enumeration
Home page:

View source page:
[...]
<form role="form" action="/login" method="post">
<div class="form-group">
<input type="text" name="user" id="email" class="form-control input-lg" placeholder="Username">
</div>
<div class="form-group">
<input type="password" name="password" id="password" class="form-control input-lg" placeholder="Password">
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<input type="submit" class="btn btn-lg btn-success btn-block" value="Sign In">
</div>
</div>
</form>
[...]
In here, we see the home page has a login form.
When when clicked on the "Sign In" button, it'll send a POST request to /login, with parameter user, password.
In the challenge's description, it said:
"Can you login as Joe and find what they've been looking at?"
Now, we can try to login:


Burp Suite HTTP history:

When we sent a POST request to /login, it'll redirect us to /flag, and set 3 new cookies: password, username, admin.
Exploitation

Hmm… The admin cookie looks sussy.
Let's try to change it's value to True:

Boom! We're an admin now, and found the flag!
- Flag:
picoCTF{th3_c0nsp1r4cy_l1v3s_6edb3f5f}
What we've learned:
- Exploiting Broken Access Control (BAC)