this post was submitted on 05 Feb 2025
265 points (98.2% liked)

Programmer Humor

20736 readers
1336 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
265
SQL Injection (lemmy.ml)
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/programmer_humor
 

Alternate version:

top 18 comments
sorted by: hot top controversial new old
[–] [email protected] 40 points 2 weeks ago (1 children)
[–] [email protected] 33 points 2 weeks ago (1 children)

Could even be his twin - that joke is from 2007, if little Bobby was in kindergarten then he'd be around 22 by now and could be trying to land his first job out of college!

[–] [email protected] 4 points 2 weeks ago* (last edited 2 weeks ago)

Wow, an XKCD-style feel-old fact about XKCD.

[–] [email protected] 14 points 2 weeks ago

Little Bobby Tables all grown up 😢

[–] [email protected] 12 points 2 weeks ago (1 children)
[–] [email protected] 28 points 2 weeks ago* (last edited 2 weeks ago) (2 children)

Bypassing authentication or checks by incorporating a statement that always returns true, and doing an 'or' operation with the statement being injected. It manipulates the return value of the SQL statement to make it always return true, so if the website is checking if the statement returned true to indicate, for example, the password is correct, it will now think that was the case.

[–] [email protected] 5 points 2 weeks ago (1 children)

I remember the first time I shipped a website with that SQL injection.

It got taken over surprisingly quickly.

[–] [email protected] 5 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Crackers work hard.

Edit: Wait, does that mean you did it again? Haha.

[–] [email protected] 3 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

I just wiped the DB and put it back online again.

I did fix it, but had to rewrite a lot of the PHP backend, which took a couple days.

And yes, I did release another website with SQL injection... It was a personal website for my brother and the pagination was vulnerable. I had written a simple CMS for it, but Instead of a password I just generated an obscure URL with completely open access to edit the DB directly.

The pagination got hacked but I fixed it pretty quickly (by checking the page number was in fact a number).

Surprisingly the CMS never got hacked before I moved him over to WordPress.

Younger me learned a lot of web dev lessons the hard way.

ETA: This was all when I was a teen and I had nobody in my life to teach me these things. I was self taught from a PHP book from the library.

[–] [email protected] 1 points 2 weeks ago (1 children)

Ah yes, the honest days of development, when you just got your hands dirty and didn't have to worry about expensive formal education and stupid interview tactics.

[–] [email protected] 1 points 2 weeks ago (1 children)

It was fun and I learned a lot. I mostly did small time jobs for local companies and used the money for my tuition. Most sites were just static HTML, and I could program flash, so there wasn’t much risk to it.

I am glad we have git instead of various backup folders on an ftp server, continuous integration, unit tests, and frameworks/accessible info to prevent the more basic errors.

[–] [email protected] 1 points 2 weeks ago

There is reasons it ended, and some of them good. Sorry, got caught up in nostalgia a bit there.

You can still write open source stuff without needing anything besides technical knowledge, if you are in a situation where you have extra time and energy after feeding yourself.

[–] [email protected] 4 points 2 weeks ago (3 children)

So does that imply they already knew the candidate they were hiring, and were just checking if this is the guy?

[–] MadhuGururajan 1 points 5 days ago (1 children)

No the interviewer is personification of the naive backend that checks only that a specific row is present in the DB, or that's how I read it.

[–] [email protected] 1 points 5 days ago (1 children)

So I guess the interview is handled by a non-vulnerable intermediate process, which adds the hire to the the main table of employees when at some point in a successful interview, and then calls a notification process that just searches it?

[–] MadhuGururajan 2 points 4 days ago

yeah something like "if new candidate in employee DB == hired"

[–] [email protected] 3 points 2 weeks ago

IDK I didn't think that much into it lol

[–] ulterno 1 points 2 weeks ago

Yeah, this seems like an exploit for those cases.