donderdag 18 augustus 2005

SQL insertion en hacken enzo...

Ik las weer eens dat er een site was gekraakt d.m.v. SQL insertion en daarbij vraag ik me dan gelijk af welke sukkels dit soort sites dan hebben gemaakt.... simpel uitgelegd.. je vult als username bij een inlogformulier onderstaande in en je komt bij slechts alleen een controle of de user bestaat in elk CMS / website binnen.

blah' OR 1=1 --

De SQL statement wordt dan zoiets als hieronder....

SELECT id FROM users WHERE username = 'blah' OR 1=1 --' AND password='nogwat'

Het gedeelte achter de comments -- wordt al niet meer uitgevoerd dus de query geeft altijd resultaat terug.

Ok ok.. met ColdFusion heb je het geluk dat dit soort SQL insertion al niet voor kan komen simpelweg omdat elke apostrophe wordt vervangen door een dubbele, zodat je namen als 's-Hertogenbosch b.v. rustig kan invoeren in een zoekveld.. bij andere talen dien je de apostrophe te escapen zodat de database niet over zijn nek gaat... ik ga dit niet verder uitleggen.

Maar dan verbaast het mij nog.. ook al kan bovenstaande exploit uitgevoerd worden, dan nog zou er een controle moeten plaatsen vinden (lijkt mij) dat een ingevoerde username/password combinatie wel daadwerkelijk overeenkomt met de waardes uit de database... hmmm nu ik hem zo lees moet ik deze even uitleggen.. . SQL server, ja..die van MS die is niet! case-sensitive wat zoveel wil zeggen dat kleine en grote letters geen bal uitmaken bij het invoeren. 

Ik persoonlijk wil wel altijd een case-sensitive vergelijking hebben ongeacht welke database er achter mijn programma hangt.. vandaar dat ik bovenstaande opmerking maak dat je ten alle tijden als 2de check moet controleren of de opgegeven username wel overeenkomt met de username uit de database.. het beheer van deze website werkt ook op die manier en je bent een knappe jongen/meisje als je daar binnen komt.... (dit is gevaarlijk om te zeggen ;-)) zoek zelf maar uit waar het beheer nu zit muuuuhhhhaaaaaaa!!!

Kortom.. vele systemen liggen wagenwijd open omdat men niet nadenkt over dit soort dingen.. en dat is best treurig als je weet hoeveel men moet betalen voor zo'n site / cms applicatie.

jajajaja.... nerd talk.. ik weet het.. laat me toch.. niet iedereen kan interessante stukjes schrijven waar iedereen zich mee kan identificeren



REACTIES:

Pomme -(site)
Vind t wel interessant, doe mn best t te snappen. Helaas kan niet iedereen zo slim zijn als jij..

jax -
ja, waar zat dat beheergedeelte ook weer hier...;-)

GdeB -(site)(e-mail)
mmh interessant T. Zal eens in 1 van onze cms'jes en/of sql dingetjes gluren.
Tx

echnat0n -(e-mail)
Stel ik heb een website. www.website.com wat gebruikt maakt van sql data.
Hoe kan ik dan als buitenstaander te weten komen hoe de tabellen noemen, een gebruikersnaam, en hoe kan ik iets uitvoeren?
Is dit mogelijk zonder het systeem te kennen?

Tjarko -(site)(e-mail)
Als ik ook maar enig idee zou hebben waar je het over hebt dan zou ik misschien een antwoord kunnen geven.

Gratiz Producten! -(site)(e-mail)
Nice!

http://gratiz.startze.nl















Hoeveel is 2 * 16? (32 is een erg mooi antwoord!)



links en e-mail adressen worden automatisch vervangen... handig war!!


ZOEKEN
LAATSTE REACTIES
  • Olaf van Beusekom: Foto's uit Toscane... Hoi, wij ...
  • iris gysels: Antwerpen en waar ga je dan he ...
  • Demos: Great Central Freeze... Ken je ...
  • jax: Gezocht: Leergierige PHP-er/AS ...
  • Michel: Gezocht: Leergierige PHP-er/AS ...
Stop Spam Harvesters, Join Project Honey Pot
Subscribe to this feed!