GEMASTIK Final 2024
Buffer overflow leads to account takeover / information disclosure
Name
Category
Story Time
Initial Analysis
βββ(miraiγΏkali)-[~/CTFs/Gemastik2024/FJB]
ββ$ tree .
.
βββ docker-compose.yml
βββ Dockerfile
βββ fjb.db
βββ frontend
β βββ components.json
β βββ eslint.config.js
β βββ index.html
β βββ jsconfig.json
β βββ package.json
β βββ pnpm-lock.yaml
β βββ postcss.config.js
β βββ public
β β βββ favicon.svg
β βββ README.md
β βββ src
β β βββ components
β β β βββ navigation.jsx
β β β βββ ui
β β β βββ badge.jsx
β β β βββ button.jsx
β β β βββ card.jsx
β β β βββ dialog.jsx
β β β βββ input.jsx
β β β βββ label.jsx
β β β βββ table.jsx
β β β βββ tabs.jsx
β β β βββ textarea.jsx
β β β βββ tooltip.jsx
β β βββ constants.js
β β βββ hooks
β β β βββ useAuth.js
β β βββ index.css
β β βββ lib
β β β βββ httpClient.js
β β β βββ router.js
β β β βββ utils.js
β β βββ main.jsx
β β βββ pages
β β β βββ cart-checkout.jsx
β β β βββ login-register.jsx
β β β βββ marketplace-lisiting.jsx
β β βββ routes
β β β βββ cart.jsx
β β β βββ index.lazy.jsx
β β β βββ login.lazy.jsx
β β β βββ __root.jsx
β β βββ routeTree.gen.ts
β βββ tailwind.config.js
β βββ vite.config.js
βββ httpd.conf
βββ httpd-foreground
βββ kauth
β βββ kauth-1.0-1.rockspec
β βββ kauth.c
β βββ kauth.h
β βββ Makefile
βββ src
βββ database.lua
βββ handler
β βββ api.lua
β βββ cart.lua
β βββ catalog.lua
β βββ checkout.lua
β βββ login.lua
β βββ register.lua
β βββ user.lua
βββ lib
β βββ utils.lua
βββ middleware.lua
βββ secret.lua
14 directories, 58 files

Interacting with the Website


Locating the Flag





Vulnerability analysis

Analyzing the code further
Proof #1

Proof #2
Proof #3
Exploit
Figuring out how to append a binary data to JSON.





Final Exploit

Final words

Last updated