๊ณ ์ ๋ ํธ์
Favour Idowu | cracker ๐ญ
1.8K posts

Favour Idowu | cracker ๐ญ
@favour_eng
A Creative Software Engineer ๐ตโ๐ซ| Penetration tester | Dreaming Big - Taking actions | Building https://t.co/Ryxqohniau
@Space ๊ฐ์
์ผ Haziran 2023
1.1K ํ๋ก์312 ํ๋ก์

@framer @jornvandijk Hiiii๐
@solvynsupply/" target="_blank" rel="nofollow noopener">framer.com/@solvynsupply/

@tomilola_ng Looks like a game, what are you building??
English
Favour Idowu | cracker ๐ญ ๋ฆฌํธ์ํจ
Favour Idowu | cracker ๐ญ ๋ฆฌํธ์ํจ
Favour Idowu | cracker ๐ญ ๋ฆฌํธ์ํจ

If you are certain that, a day would come where millions would use your Solutions.
Quote this with what you are building.
#connect.
English

@MKBHD Apple is adding touch screen to Mac ultra?
English

NEW VIDEO - Adding a touchscreen to the Macbook Pro to feel what it would be like when the rumored Ultra finally does come out: youtu.be/WOzcFkld6_g

YouTube

English

@God_streasure7 Like for real bro
Itโs just Tuesday ๐ฐ
English

@favour_eng U no go tire oo๐ญ
We still dey Tuesday
English

@tech_queen Crazy, they said they will do it and they did..
English
Favour Idowu | cracker ๐ญ ๋ฆฌํธ์ํจ

Every developer has written something like this at least once. Here is why it should never reach production.
1. No authentication or token verification
This is the most critical one. Anyone who knows or guesses a valid email address can reset that userโs password to anything they want. There is no reset token, no email verification step, no proof that the person making the request actually owns the account. You just send an email and a new password in a POST request and you own the account. That is not a password reset flow. That is an account takeover endpoint.
2. Password stored in plaintext
The newPassword value goes directly into db.updatePassword with zero processing. No hashing. No salting. The password lands in the database exactly as the user typed it. If that database is ever breached, every single userโs password is immediately readable in plain text.
3. No input validation
There is no check on what newPassword actually contains. Empty string, a single character, null, a 10,000 character payload. All of it goes straight to the database. No length requirements, no complexity checks, nothing.
4. No rate limiting
This endpoint accepts unlimited requests with no throttling or lockout mechanism. Combine this with vulnerability one and you have an endpoint that can be automated to take over accounts at scale.
5. User enumeration
The endpoint only responds when a user exists. Silence on a non-existent email tells an attacker exactly which addresses are registered accounts. That information has real value in targeted attacks.
Five vulnerabilities. Twelve lines of code. This is what happens when security is an afterthought.
Exploit-Forge@ExploitforgeLTD
How many vulnerabilities can you spot in this code?
English













