Scoutnet vzw

We connect scouts!
Het is momenteel 18 Nov 2024 20:49

Alle tijden zijn UTC + 1 uur




Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 30 berichten ]  Ga naar pagina 1, 2  Volgende
Auteur Bericht
BerichtGeplaatst: 15 Mrt 2004 19:10 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 19 Apr 2003 23:00
Berichten: 9
Woonplaats: deurne
Ok kinders, het probleem ligt aan slechte php code waarmee hackers in de db binnengeraken.
Hoe kan dit gebeuren? Heel envoudig, de hacker vult het sql commando aan in het username of password veld. Ik ga hier niet exact zeggen met welk commando je dit kan om te vermijden dat de komende dagen alle logins gaan afgescand worden om in te loggen.
Ik heb eens gekeken op scoutnet en er zijn er enkele waarin ik zo kan inloggen. De tabel uit de database verwijderen is ook geen probleem alsook de usernames en pw opvragen (als ze niet in md5 staan tenminste)


De oplossing is eenvoudig: LAAT GEEN ' TOE!!!! Of beter: laat enkel cijfers en letters toe in een loginnaam en pw.
Filter uw ' uit uw velden met php, asp of whatever, maar als je ' kan ingeven heb je controle over het sql statement!!
Je kan zelfs extra php code toevoegen dan.

Mag ik iedereen vragen aan diegene die weten hoe het moet, om de commando's hier niet te posten, voordat alle webmasters hun site gecheckt hebben of ze al dan niet hun ' eruit filteren. Als je wil weten of je site veilig is(tegen dit php-sql probleem), post hem hier dan ff, dan checken we hem wel.

Waarschijnlijk weten er veel mensen hoe je zo inlogt, er moet drignend iets aan gebeuren.


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 15 Mrt 2004 21:10 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 30 Jul 2002 23:00
Berichten: 209
Woonplaats: Kortrijk, Gent, Antwerpen
Voor php kan zoiets helpen:

Code:
$loginnaam = htmlspecialchars($_POST['loginnaam'], ENT_QUOTES);


Laatst gewijzigd door Sibbe op 15 Mrt 2004 23:08, in totaal 1 keer gewijzigd.

Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 15 Mrt 2004 22:38 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 19 Apr 2003 23:00
Berichten: 9
Woonplaats: deurne
voila


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 0:00 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 22 Jan 2004 0:00
Berichten: 773
Is addslashes niet dé manier om dit te voorkomen, dit is echt een heel bekend en veel voorkomend beveiligingslek.

Dit probleem heb ik hier ook al eens uitgelegd:
viewtopic.php?t=387&highlight=addslashes

En daar ook de vraag gesteld aan de admins of het niet beter zou zijn om de magic qoutes flag standaard aan te zetten?


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 0:04 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 19 Apr 2003 23:00
Berichten: 9
Woonplaats: deurne
ik deed het voorlopig zo:

$pas = ereg_replace( "'", "\'", $_POST[password]);
$us = ereg_replace( "'", "\'", $_POST[username]);

maar er is dus idd een functie voor addslashes($query), ideaal

belangrijk is dat je dit voor alle velden doet, bv ook voor een gastenboek, want met een UNION statement of zelfs met DROP TABLE kan je veel schade aanrichten in de DB!


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 0:20 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 22 Jan 2004 0:00
Berichten: 773
Jullie lijken precies allemaal ondersteboven te zijn van deze `hack'. Dit is echt niks nieuws hoor. Als je hier nog nooit van gehoord hebt moet je dringend dit http://www.php.net/manual/en/security.database.php eens lezen.
En lees daarna http://be2.php.net/manual/en/function.addslashes.php .

Groeten,
Hopla


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 0:30 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 15 Mrt 2004 0:00
Berichten: 55
Gaat het zo ook niet?
Code:
$bericht = str_replace("'", "’", $bericht);

Waarbij de tweede ' geen rechte maar een scheve ’ is?


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 0:38 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 22 Jan 2004 0:00
Berichten: 773
Pjeir schreef:
Gaat het zo ook niet?
Code:
$bericht = str_replace("'", "’", $bericht);

Waarbij de tweede ' geen rechte maar een scheve ’ is?


Zou kunnen. Maar dan verander je nog altijd de input van de user. I.e., de user krijgt niet te zijn wat hij intypte. Met addslashes worden er gewoon tijdelijk '\' voor ALLE mogelijk gevaarlijke tekens gezet. Eens in de database zijn die verdwenen. Dus bij het terug outputten van de gegevens in de database krijg je weer de exacte input van de user terug. Waarom moeilijk doen?


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 0:43 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 15 Mrt 2004 0:00
Berichten: 55
Aah zo! Ik snapte de addslashes ni zo goed precies maar nu zie ik het.

Je hebt gelijk hoor, maar als ik een bericht typ kies ik toch niet bewust voor een rechte ' of een scheve ', ik heb er maar 1 op mijn toetsenbord staan...


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 1:16 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 30 Jul 2002 23:00
Berichten: 209
Woonplaats: Kortrijk, Gent, Antwerpen
Ja, addslashes() zal hier beter zijn dan de htmlspecialchars() die ik eerst voorstelde.

Is gewoon omdat ik die laatste gebruik voor bijna alle input (tekst voor html-pagina waar de gebruikers zelf geen html mogen gebruiken). Zo staat veilige tekst in db en moet die bewerking niet telkens uitgevoerd worden bij het opvragen van een pagina. En soms wil ik er zelf wel html in kwijt kunnen (-:

Maar die username moet dus niet echt op een html-pagina komen...


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 7:22 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 02 Sep 2003 23:00
Berichten: 108
Woonplaats: De Magneet
wel ik snap der echt de ballen van, zou niemand het mij over msn kunnen uitleggen ofzo?
Al die addslashes, waarvoor dient da eigenlijk?


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 8:46 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 12 Jan 2004 0:00
Berichten: 94
Woonplaats: Berchem (Antwerpen)
kort en krachtig met een voorbeeld:

wat is het probleem:
Neem nu een loginscreen op een site,
daar typt de user zijn username en password in,
dan connecteert het script met de SQL database om te checken of dit klopt, en of de user toegelaten kan worden.
Maar het veiligheids-probleem is dat je ook SQL-commando's kan ingeven op je login-screen via het username- en password-kadertje.
Waardoor men bijvoorbeeld heel je database kan vernietigen of afprinten.

wat is nu de oplossing
Die SQL-commandos werken met ' (haakjes),
en door een functie te gebruiken zoals addslashes wordt er voor die ' een \ gezet, zodat die ' als tekst beschouwd wordt,
het leuke is nu dat die \ verdwijnt eens de data in de database is ingegeven,
alle andere oplossingen laten ze staan.

ThDC

PS@Pershing: Hopelijk begrijp je er nu al wat meer van,
en anders vraagt ge het maar eens op MSN (ge weet me wonen he :wink: ), en euh, aangezien jullie postnuke gebruiken, is dit voor jullie geen probleem, postnuke zorgt er zowiezo voor dat het onmogelijk is om dit te doen.

_________________
- O Lord, raise me to Thy right hand -
- and count me among Thy Saints! -


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 9:32 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 12 Jan 2003 0:00
Berichten: 105
Woonplaats: Waasmunster
allright, weer zo'n topic waar je betrekkelijk weinig van snapt, maar alleszins: ik gebruik de login van phpbb voor het beveiligde deel van mijn website

das dus md5, maar nergens staat er zo'n addslashes gedoe..

veilig? wie zal het me zeggen :)
dankjewel


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 9:37 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 04 Jul 2002 23:00
Berichten: 501
Woonplaats: Reet
ik veronderstel dat dergelijke software wel beveiligd is.

Maar wat bedoel je dat je de login van phpbb gebruikt voor je eigen site?

Geert


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 16 Mrt 2004 10:06 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 12 Jan 2004 0:00
Berichten: 94
Woonplaats: Berchem (Antwerpen)
Wij zijn momenteel ook met zoiets bezig,
door de login van het forum en die van het intranet gelijk te maken.
In plaats van een aparte database aan te maken voor de leidingssectie.

Phpbb is veilig wat de ' betreft, voor de rest weet ik het niet.
Weet ook niet goe waarom, maar ik kan mijn eigen database niet om zeep helpen met de SQL-commands, zal wel op één of andere manier tegengehouden worden, maar vraag me niet waar he.

ThDC

_________________
- O Lord, raise me to Thy right hand -
- and count me among Thy Saints! -


Omhoog
 Profiel  
 
Berichten weergeven van de afgelopen:  Sorteer op  
Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 30 berichten ]  Ga naar pagina 1, 2  Volgende

Alle tijden zijn UTC + 1 uur


Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 5 gasten


U mag geen nieuwe onderwerpen plaatsen in dit forum
U mag geen reacties plaatsen op onderwerpen in dit forum
U mag uw berichten niet wijzigen in dit forum
U mag uw berichten niet verwijderen in dit forum
U mag geen bijlagen plaatsen in dit forum

Zoeken naar:
Ga naar:  
cron
Powered by phpBB® Forum Software © phpBB Group
Vertaald door phpBBservice.nl.