Sabitlenmiş Tweet
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 Katılım Haziran 2023
1.1K Takip Edilen312 Takipçiler

@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 🎭 retweetledi
Favour Idowu | cracker 🎭 retweetledi
Favour Idowu | cracker 🎭 retweetledi

If you are certain that, a day would come where millions would use your Solutions.
Quote this with what you are building.
#connect.
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

@tech_queen Crazy, they said they will do it and they did..
English
Favour Idowu | cracker 🎭 retweetledi

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














