abonnement Unibet Coolblue
  zaterdag 21 april 2012 @ 13:58:05 #1
12221 Tijn
Powered by MS Paint
pi_110591964


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL
pi_110591981
quote:
14s.gif Op zaterdag 21 april 2012 13:47 schreef themole het volgende:

[..]

Zou het als ik jou was snel oplossen, de onderste site in je signature is al vatbaar daarvoor.

Verander ?id=9 maar eens in ?id='; krijg je meteen een error.
Of je GET of POST gebruikt maakt helemaal niets uit voor de behandeling van de invoer. Het is en blijft user input, en dat is niet te vertrouwen.
pi_110591990
quote:
14s.gif Op zaterdag 21 april 2012 13:47 schreef themole het volgende:

[..]

Zou het als ik jou was snel oplossen, de onderste site in je signature is al vatbaar daarvoor.

Verander ?id=9 maar eens in ?id='; krijg je meteen een error.
Ja een error, maar dat moeten mensen ook niet zelf gaan invullen natuurlijk, als ik naar google.nl/niks ga krijg ik ook een error.

Maar kunnen ze echt schade aanrichten? Want ik heb ook sites voor bedrijven e.d. gemaakt op deze manier.

Wat doet bijvoorbeeld

<?php
'SELECT * FROM `table`
WHERE `string` = "'.mysql_real_escape_string($_GET['foo']).'"
AND `number` = '.intval($_GET['bar']);
?>

dat stukje, die zorgt ervoor dat je alleen maar een woord kan invullen en geen mysql code ofzo?
  zaterdag 21 april 2012 @ 14:04:35 #4
12221 Tijn
Powered by MS Paint
pi_110592183
quote:
0s.gif Op zaterdag 21 april 2012 13:58 schreef JDx het volgende:

[..]

Ja een error, maar dat moeten mensen ook niet zelf gaan invullen natuurlijk, als ik naar google.nl/niks ga krijg ik ook een error.
Bij Google krijg je een error die door Google zelf is gegenereerd. Bij jouw sites krijg je errors die door PHP worden gemaakt. In feite help je hackers door ze informatie te geven over hoe jouw programmatuur in elkaar steekt.

quote:
Maar kunnen ze echt schade aanrichten? Want ik heb ook sites voor bedrijven e.d. gemaakt op deze manier.
Ja, je kunt sowieso alle data in je database uitlezen. Als hetzelfde MySQL-account ook schrijfrechten heeft, kan de database ook worden aangepast.

quote:
Wat doet bijvoorbeeld

<?php
'SELECT * FROM `table`
WHERE `string` = "'.mysql_real_escape_string($_GET['foo']).'"
AND `number` = '.intval($_GET['bar']);
?>

dat stukje, die zorgt ervoor dat je alleen maar een woord kan invullen en geen mysql code ofzo?
mysql_real_escape_string() zorgt ervoor dat het niet mogelijk is om uit de quotes die om je query staan te breken. Daardoor blijft alle user-input onderdeel van jouw query en kan een kwaadwillende niet zelf een nieuwe query uitvoeren.
  zaterdag 21 april 2012 @ 14:04:43 #5
302853 themole
graaft totaal door.
pi_110592188
quote:
0s.gif Op zaterdag 21 april 2012 13:58 schreef Light het volgende:

[..]

Of je GET of POST gebruikt maakt helemaal niets uit voor de behandeling van de invoer. Het is en blijft user input, en dat is niet te vertrouwen.
Waar zeg ik dat het uitmaakt of je POST of GET gebruikt? Ik geef alleen maar een voorbeeld, in dit geval via GET, maar via POST is het natuurlijk ook niet te vertrouwen. :)

quote:
0s.gif Op zaterdag 21 april 2012 13:58 schreef JDx het volgende:

[..]

Ja een error, maar dat moeten mensen ook niet zelf gaan invullen natuurlijk, als ik naar google.nl/niks ga krijg ik ook een error.

Maar kunnen ze echt schade aanrichten? Want ik heb ook sites voor bedrijven e.d. gemaakt op deze manier.

Wat doet bijvoorbeeld

<?php
'SELECT * FROM `table`
WHERE `string` = "'.mysql_real_escape_string($_GET['foo']).'"
AND `number` = '.intval($_GET['bar']);
?>

dat stukje, die zorgt ervoor dat je alleen maar een woord kan invullen en geen mysql code ofzo?
http://nl.wikipedia.org/wiki/SQL-injectie
Niet altijd serieus
  zaterdag 21 april 2012 @ 14:05:10 #6
12221 Tijn
Powered by MS Paint
pi_110592204
quote:
14s.gif Op zaterdag 21 april 2012 14:04 schreef themole het volgende:

[..]

Waar zeg ik dat het uitmaakt of je POST of GET gebruikt?
Dat vraagt JDx.
  zaterdag 21 april 2012 @ 14:05:48 #7
302853 themole
graaft totaal door.
pi_110592231
quote:
2s.gif Op zaterdag 21 april 2012 14:05 schreef Tijn het volgende:

[..]

Dat vraagt JDx.
Idd, die quote was achteraf niet echt handig. :P
Niet altijd serieus
pi_110592276
quote:
14s.gif Op zaterdag 21 april 2012 14:04 schreef themole het volgende:

[..]

Waar zeg ik dat het uitmaakt of je POST of GET gebruikt? Ik geef alleen maar een voorbeeld, in dit geval via GET, maar via POST is het natuurlijk ook niet te vertrouwen. :)
Je reageert op een vraag of er post gebruikt moet worden met een opmerking 'zo zou ik het doen'. En dan reageer ik daar weer op.
pi_110592357
JDx doe dat eens heel snel veranderen, je bent binnen 10 seconden binnen op je database man.
pi_110592392
Ja ik ben bezig, maar zie niet hoe, pm eens hoe je het doet?

Please help ff, want ik heb ook CMS'en gemaakt voor bedrijven, software om medewerkers in te plannen bij Restaurants, etc.
pi_110592479
http://kledingmerken.jdx.nl/single.php?id=44

Je doet ergens $_GET['id'] richting de database, begin dat eerst maar eens te veranderen naar mysql_real_escape_string($_GET['id'])

Beste is om PDO te gebruiken.
pi_110592515
PDO?

Maar laat eens zien hoe je misbruik maakt van dat dan? Dat begrijp ik niet helemaal als ik invul:

44' OR 'a' = 'a'

dan gebeurd er niets.
pi_110592551
-edit weg-

Neem aan dat je het nu wel gezien hebt, heeft geen meerwaarde om te laten staan.

[ Bericht 76% gewijzigd door TwenteFC op 21-04-2012 14:23:55 ]
  zaterdag 21 april 2012 @ 14:17:13 #14
157634 Civilian
Better safe than Sony
pi_110592566
quote:
0s.gif Op zaterdag 21 april 2012 14:15 schreef JDx het volgende:
PDO?

Maar laat eens zien hoe je misbruik maakt van dat dan? Dat begrijp ik niet helemaal als ik invul:

44' OR 'a' = 'a'

dan gebeurd er niets.
http://php.net/manual/en/pdo.prepared-statements.php
I'm not good with advice.. Can i interest you in a sarcastic comment?
pi_110592591
quote:
19s.gif Op zaterdag 21 april 2012 14:14 schreef TwenteFC het volgende:
http://kledingmerken.jdx.nl/single.php?id=44

Je doet ergens $_GET['id'] richting de database, begin dat eerst maar eens te veranderen naar mysql_real_escape_string($_GET['id'])
Ik vind intval($_GET['id']) ook goed, dan weet je zeker dat je een getal hebt en niet een string als '9 or 1=1'.
quote:
Beste is om PDO te gebruiken.
True. Maar als je een hele applicatie moet omschrijven, is dat best veel werk.
pi_110592627
quote:
0s.gif Op zaterdag 21 april 2012 14:15 schreef JDx het volgende:
PDO?

Maar laat eens zien hoe je misbruik maakt van dat dan? Dat begrijp ik niet helemaal als ik invul:

44' OR 'a' = 'a'

dan gebeurd er niets.
http://kledingmerken.jdx.nl/single.php?id=9%20or%201%3D1
  zaterdag 21 april 2012 @ 14:19:28 #17
157634 Civilian
Better safe than Sony
pi_110592641
quote:
0s.gif Op zaterdag 21 april 2012 14:17 schreef Light het volgende:

[..]

Ik vind intval($_GET['id']) ook goed, dan weet je zeker dat je een getal hebt en niet een string als '9 or 1=1'.

[..]

True. Maar als je een hele applicatie moet omschrijven, is dat best veel werk.
Als je websites hebt voor bedrijven kan je dit soort dingen niet maken. Dan maar omschrijven. Maar dit is gewoon link ;)
I'm not good with advice.. Can i interest you in a sarcastic comment?
pi_110592672
quote:
Verrek :)

Mooi dat ik dit nu ontdek en niet dat mn baas opeens met een boze klant komt :P
pi_110592713
quote:
7s.gif Op zaterdag 21 april 2012 14:19 schreef Civilian het volgende:

[..]

Als je websites hebt voor bedrijven kan je dit soort dingen niet maken. Dan maar omschrijven. Maar dit is gewoon link ;)
Ik zou liever voor de snellere oplossing kiezen, denk ik. Dat omschrijven kan altijd nog, eerst moet de boel veilig worden.
  zaterdag 21 april 2012 @ 14:22:08 #20
12221 Tijn
Powered by MS Paint
pi_110592733
quote:
0s.gif Op zaterdag 21 april 2012 14:20 schreef JDx het volgende:

[..]

Verrek :)

Mooi dat ik dit nu ontdek en niet dat mn baas opeens met een boze klant komt :P
Het probleem is alleen dat er misschien al een uittreksel van je hele database op internet rondzwerft. Je wachtwoorden zijn wel salted encrypted enzo? Die zou ik ook maar even wijzigen als ik jou was.
pi_110592769
quote:
0s.gif Op zaterdag 21 april 2012 14:21 schreef Light het volgende:

[..]

Ik zou liever voor de snellere oplossing kiezen, denk ik. Dat omschrijven kan altijd nog, eerst moet de boel veilig worden.
Inderdaad, persoonlijk had ik hem op zwart gegooid.. alles nagelopen, en dan weer online gegooid.
Om vervolgens alles om te bouwen.

PDO is sowieso iets dat de moeite waard is om jezelf aan te leren.
pi_110592771
quote:
2s.gif Op zaterdag 21 april 2012 14:22 schreef Tijn het volgende:

[..]

Het probleem is alleen dat er misschien al een uittreksel van je hele database op internet rondzwerft. Je wachtwoorden zijn wel salted encrypted enzo? Die zou ik ook maar even wijzigen als ik jou was.
Wachtwoorden staan er verder niet in volgens mij.
pi_110592772
quote:
0s.gif Op zaterdag 21 april 2012 14:20 schreef JDx het volgende:

[..]

Verrek :)

Mooi dat ik dit nu ontdek en niet dat mn baas opeens met een boze klant komt :P
Wees blij dat er nog geen grapjas is geweest die een DELETE statement heeft uitgevoerd :P
  zaterdag 21 april 2012 @ 14:24:08 #25
12221 Tijn
Powered by MS Paint
pi_110592802
quote:
0s.gif Op zaterdag 21 april 2012 14:23 schreef JDx het volgende:

[..]

Wachtwoorden staan er verder niet in volgens mij.
Geen enkel wachtwoord in geen enkele tabel van je CMS?
pi_110592809
quote:
0s.gif Op zaterdag 21 april 2012 14:23 schreef Pakspul het volgende:

[..]

Wees blij dat er nog geen grapjas is geweest die een DELETE statement heeft uitgevoerd :P
Dat zou ook kunnen? Oh god...
  zaterdag 21 april 2012 @ 14:24:42 #27
12221 Tijn
Powered by MS Paint
pi_110592823
quote:
0s.gif Op zaterdag 21 april 2012 14:24 schreef JDx het volgende:

[..]

Dat zou ook kunnen? Oh god...
Als je input niet filtert en direct in een query gooit, kan iedereen elke query uitvoeren die 'ie maar wil.

Zie ook het stripje over Bobby Tables dat ik in het vorige topic had gepost. Dat kan letterlijk gebeuren met dit soort code.
pi_110592831
quote:
Dat lijkt alweer een stuk beter :)
  zaterdag 21 april 2012 @ 14:25:00 #29
302853 themole
graaft totaal door.
pi_110592834
quote:
0s.gif Op zaterdag 21 april 2012 14:24 schreef JDx het volgende:

[..]

Dat zou ook kunnen? Oh god...
Yup, en dingen inserten. Allemaal mogelijk. Maak daarom ook maar een backup van je database.
Niet altijd serieus
pi_110592844
quote:
Slim is om nog een extra controle toe te voegen. Zodat ID ook daadwerkelijk een integer is (liefste unsigned uiteraad, maar integer eerst is al voldoende).
pi_110592872
quote:
0s.gif Op zaterdag 21 april 2012 14:24 schreef Light het volgende:

[..]

Dat lijkt alweer een stuk beter :)
  zaterdag 21 april 2012 @ 14:26:33 #32
157634 Civilian
Better safe than Sony
pi_110592875
Daarom ook geen CMS bouwen als je stiekem eigenlijk niet weet wat je doet :P Er zijn er genoeg die al een heel stuk veiliger van zichzelf zijn.. Maargoed, dat is mijn mening.
I'm not good with advice.. Can i interest you in a sarcastic comment?
pi_110592884
Gelukkig zijn de meeste dingen die ik gemaakt heb interne tools op ons interne netwerk, maar heb dus ook een paar dingen gemaakt voor externe bedrijven, gelukkig gaat het veelal om int-en / int's ?

Dus kan veel al beveiligen door die intval() toe te passen.
pi_110592891
quote:
0s.gif Op zaterdag 21 april 2012 14:25 schreef Pakspul het volgende:

[..]

Slim is om nog een extra controle toe te voegen. Zodat ID ook daadwerkelijk een integer is (liefste unsigned uiteraad, maar integer eerst is al voldoende).
Zo te zien wordt nu intval() gebruikt. Dan krijg je 0 als je met tekst begint, niets spannends verder.
pi_110592968
quote:
0s.gif Op zaterdag 21 april 2012 14:26 schreef JDx het volgende:
Gelukkig zijn de meeste dingen die ik gemaakt heb interne tools op ons interne netwerk, maar heb dus ook een paar dingen gemaakt voor externe bedrijven, gelukkig gaat het veelal om int-en / int's ?

Dus kan veel al beveiligen door die intval() toe te passen.
Als je dit aan klanten gelevert hebt, zou ik ze maar heel snel op gaan bellen dat ze als een malle hun websites uit de lucht halen, voordat je volgende week op tweakers staat.
pi_110592973
Ergste is denk ik mijn rooster software, een groot restaurant plant al zijn medewerkers in doormiddel van dit rooster, maar op die database draait bijvoorbeeld ook het kassa systeem, die draait op een site waar je gelukkig wel eerst moet inloggen om op te komen, maar goed, blijft link.
  zaterdag 21 april 2012 @ 14:30:32 #37
12221 Tijn
Powered by MS Paint
pi_110592990
quote:
0s.gif Op zaterdag 21 april 2012 14:26 schreef JDx het volgende:

Dus kan veel al beveiligen door die intval() toe te passen.
Realiseer je wel dat het pas veilig is wanneer letterlijk elke user input gecheckt is. Al is er maar 1 plek waar je het vergeet, dan kan iemand via die plek alsnog je hele database manipuleren.
pi_110593014
quote:
2s.gif Op zaterdag 21 april 2012 14:30 schreef Tijn het volgende:

[..]

Realiseer je wel dat het pas veilig is wanneer letterlijk elke user input gecheckt is. Al is er maar 1 plek waar je het vergeet, dan kan iemand via die plek alsnog je hele database manipuleren.
Wat is er toch ook een tuig op de wereld, ik zie altijd het goede, nooit de mogelijkheid om misbruik te maken.
pi_110593018
quote:
0s.gif Op zaterdag 21 april 2012 14:29 schreef JDx het volgende:
Ergste is denk ik mijn rooster software, een groot restaurant plant al zijn medewerkers in doormiddel van dit rooster, maar op die database draait bijvoorbeeld ook het kassa systeem, die draait op een site waar je gelukkig wel eerst moet inloggen om op te komen, maar goed, blijft link.
Dat maakt dus niet uit. Als het op dezelfde database draait, kan iedere malloot daar nu gewoon bij.
pi_110593054
quote:
0s.gif Op zaterdag 21 april 2012 14:31 schreef JDx het volgende:

[..]

Wat is er toch ook een tuig op de wereld, ik zie altijd het goede, nooit de mogelijkheid om misbruik te maken.
:P Dan ben je wel heel naief.
pi_110593081
Wat mij betreft is het "tuig" de mensen die ditsoort tijdbommen aan een klant durven leveren.
  zaterdag 21 april 2012 @ 14:33:55 #42
12221 Tijn
Powered by MS Paint
pi_110593103
quote:
0s.gif Op zaterdag 21 april 2012 14:31 schreef JDx het volgende:

[..]

Wat is er toch ook een tuig op de wereld, ik zie altijd het goede, nooit de mogelijkheid om misbruik te maken.
Het ligt niet aan het tuig, je moet gewoon robuuste software maken. Hackers helpen je juist om betere code te schrijven.

Misschien is het ook handig om wat vakliteratuur te gaan lezen, want het is echt schokkend dat je hier nu pas achter komt. SQL-injecties zijn al heel erg lang bekend.
pi_110593131
quote:
19s.gif Op zaterdag 21 april 2012 14:32 schreef TwenteFC het volgende:

[..]

:P Dan ben je wel heel naief.
Gewoon niet aan gedacht dat mensen er eventueel misbruik van kunnen maken.


quote:
13s.gif Op zaterdag 21 april 2012 14:33 schreef Tijn het volgende:

[..]

Het ligt niet aan het tuig, je moet gewoon robuuste software maken. Hackers helpen je juist om betere code te schrijven.

Misschien is het ook handig om wat vakliteratuur te gaan lezen, want het is echt schokkend dat je hier nu pas achter komt. SQL-injecties zijn al heel erg lang bekend.
Alles geleerd als hobby. Weet alleen wat ik nodig had om m'n sites werkend te krijgen en toen aangenomen toen ze mijn software zagen (niet de code).
  zaterdag 21 april 2012 @ 14:36:23 #44
12221 Tijn
Powered by MS Paint
pi_110593164
quote:
0s.gif Op zaterdag 21 april 2012 14:34 schreef JDx het volgende:

[..]

Gewoon niet aan gedacht dat mensen er eventueel misbruik van kunnen maken.
Creatief gebruik van het woord "gewoon".
pi_110593288
Ja ik werk er nog niet zo lang en toen ik er kwam kende ik alleen hobby matig PHP.

Ik pas dingen aan van allerlei vorige medewerkers, alles is geschreven in verschillende talen. Ene keer VBscript, dan weer C#, dan weer ASP.NET, laatst dus iets in PHP, etc...

Het is steeds, kan je snel ff dit aanpassen? Dit tooltje werkt niet meer, kun je daar naar kijken? Etc.

Zal van af nu ook rekening houden met de mogelijkheid tot hacken.
  zaterdag 21 april 2012 @ 14:40:52 #46
12221 Tijn
Powered by MS Paint
pi_110593289
Overigens ook niet erg professioneel van dat bedrijf waar je werkt dat je code blijkbaar nooit is gereviewed.
pi_110593306
Wel pijnlijk om te lezen ja.. als ik dit als excuus had gebruikt dan had ik klappen gekregen van mijn collega's :@
pi_110593310
quote:
2s.gif Op zaterdag 21 april 2012 14:40 schreef Tijn het volgende:
Overigens ook niet erg professioneel van dat bedrijf waar je werkt dat je code blijkbaar nooit is gereviewed.
Nee ik ben aangenomen omdat alle programmeurs zijn gestopt of ontslagen. Ze hadden niemand meer die dit kon en konden niemand vinden ;)

Probeer de boel op orde te krijgen nu, door dit topic ook een stuk veiliger dus.

Ik was grafisch vormgever/webdeveloper bij een reclamebureau, ben vanuit hobby overgestapt naar Software Developer.
  zaterdag 21 april 2012 @ 14:43:30 #49
12221 Tijn
Powered by MS Paint
pi_110593354
Klinkt als een fantastische toko B-)
pi_110593361
:) Maarja, het is gebeurd. Wat je zegt; het is nu gewoon zaak om er van te leren, en het nooit meer fout te doen.
pi_110593397
Idd, thanks!

Maar als ik zie hoe moeilijk ze iemand kunnen vinden die kan programmeren (of dat denkt te kunnen ;) haha) dan hebben jullie waarschijnlijk ook allemaal een goede baan? :P
pi_110593398
En vooral ook om eerdere code nog eens door te nemen en te corrigeren.
pi_110593411
quote:
14s.gif Op zaterdag 21 april 2012 14:45 schreef KomtTijd... het volgende:
En vooral ook om eerdere code nog eens door te nemen en te corrigeren.
Dat sowieso!
pi_110593480
quote:
0s.gif Op zaterdag 21 april 2012 14:44 schreef JDx het volgende:
Idd, thanks!

Maar als ik zie hoe moeilijk ze iemand kunnen vinden die kan programmeren (of dat denkt te kunnen ;) haha) dan hebben jullie waarschijnlijk ook allemaal een goede baan? :P
Ik durf me heul niet als programmeur te verkopen, juist omdat ik weet dat ik niet al ditsoort security dingetjes weet.

Dit dan weer wel maar SQL injection is ook wel les 0.00001 en daar de voorkennis van.
pi_110593612
quote:
14s.gif Op zaterdag 21 april 2012 14:47 schreef KomtTijd... het volgende:

[..]

Ik durf me heul niet als programmeur te verkopen, juist omdat ik weet dat ik niet al ditsoort security dingetjes weet.

Dit dan weer wel maar SQL injection is ook wel les 0.00001 en daar de voorkennis van.
Mwoah, als je userinput goed controleert kan je weinig gebeuren. Dingen als je code optimalizeren etc. zijn ook wel handig om te weten.
  zaterdag 21 april 2012 @ 14:57:38 #56
12221 Tijn
Powered by MS Paint
pi_110593835
Misschien een aardig plan om een security top 5 te maken van dingen die je zeker niet verkeerd wil doen? Voor in de OP ofzo?

Bv ook het salten van passwords, sessies niet opslaan in /tmp, warnings en errors niet weergeven... Dat soort dingen?
  zaterdag 21 april 2012 @ 15:01:06 #57
157634 Civilian
Better safe than Sony
pi_110593933
quote:
0s.gif Op zaterdag 21 april 2012 14:44 schreef JDx het volgende:
Idd, thanks!

Maar als ik zie hoe moeilijk ze iemand kunnen vinden die kan programmeren (of dat denkt te kunnen ;) haha) dan hebben jullie waarschijnlijk ook allemaal een goede baan? :P
Programmeurs zijn er zat te vinden. Alleen Nederlanders willen voor een dubbeltje op de eerste rang zitten. En goede, custom code kost nou eenmaal geld. En een degelijke programmeur is ook niet goedkoop nee
I'm not good with advice.. Can i interest you in a sarcastic comment?
  FOK!-Schrikkelbaas zaterdag 21 april 2012 @ 15:17:09 #58
1972 Swetsenegger
Egocentrische Narcist
pi_110594550
Je werkt bij een toko waar ze software ontwikkelen en NIEMAND heeft je ooit verteld dat je userinput moet controleren?? En je was daar ZELF ook niet op gekomen?? Heb je nooit op een php forum gelezen hoe je bepaalde vraagstukken moet oplossen?

Ongetwijfeld dat daar "ALWAYS CHECK USERINPUT" heeft gestaan.
pi_110594619
Het is inderdaad tijd om die op eens grondig aan te pakken met een korte FAQ!

punten?
- User input controleren?
- Andere veiligheids voorzieningen (salts, cookies, sessies, etc)
- Meest gebruikte frameworks, template engines etc

Meer? ik ben er iig voor! :)
Just say hi!
pi_110595771
quote:
11s.gif Op zaterdag 21 april 2012 15:17 schreef Swetsenegger het volgende:
Je werkt bij een toko waar ze software ontwikkelen en NIEMAND heeft je ooit verteld dat je userinput moet controleren?? En je was daar ZELF ook niet op gekomen?? Heb je nooit op een php forum gelezen hoe je bepaalde vraagstukken moet oplossen?

Ongetwijfeld dat daar "ALWAYS CHECK USERINPUT" heeft gestaan.

Ik moet om de week wel ongeveer werken met code waar get (dan wel post) data direct in een query wordt gegooid, van verscheidene 'webdevelopment' bedrijven. :')

Veel daarvan hebben dan ook nog een eigen 'CMS' (durf het haast geen CMS te noemen eigenlijk) die zo lek is als een mandje. En ze hebben dan dus vaak de portfolio op hun website staan, weet je zo welke sites lek zijn. :')
  FOK!-Schrikkelbaas zaterdag 21 april 2012 @ 15:48:12 #61
862 Arcee
Look closer
pi_110595949
quote:
0s.gif Op zaterdag 21 april 2012 15:48 schreef Arcee het volgende:
SQL-injecties stonden centraal in Zembla gisteravond:
http://www.uitzendinggemist.nl/afleveringen/1249442 ^O^
:D Timing!
  FOK!-Schrikkelbaas zaterdag 21 april 2012 @ 16:01:35 #63
1972 Swetsenegger
Egocentrische Narcist
pi_110596331
quote:
0s.gif Op zaterdag 21 april 2012 15:47 schreef Diabox het volgende:

[..]


Ik moet om de week wel ongeveer werken met code waar get (dan wel post) data direct in een query wordt gegooid, van verscheidene 'webdevelopment' bedrijven. :')

Veel daarvan hebben dan ook nog een eigen 'CMS' (durf het haast geen CMS te noemen eigenlijk) die zo lek is als een mandje. En ze hebben dan dus vaak de portfolio op hun website staan, weet je zo welke sites lek zijn. :')
Ik heb ook een eigen cmsje maar ik vang wel altijd user input af.
Maar ik zal ook vast wel een lekje hebben hier en daar :{
pi_110596581
:o Die aflevering van Zembla is wel hard... ongelooflijk!
Ook de klant de schuld geven voor wachtwoorden als "123456" .. en dan als excuus "Ja wij kunnen niet zien wat voor een wachtwoord ze nemen".

Tuurlijk veranderen mensen hun wachtwoord naar iets makkelijks, dit moet je gewoon onmogelijk maken, en daarbij snap ik niet dat ze geen Tokens o.i.d. gebruiken. Dat zijn de kosten niet.

[ Bericht 52% gewijzigd door TwenteFC op 21-04-2012 16:21:39 ]
  zaterdag 21 april 2012 @ 16:09:29 #65
299167 stefanhaan
Bloeddorstige wasbeer
pi_110596643
Je moet gewoon een functie implementeren waarmee je standaard user input verwerkt en controleert. Als je dat aanleert voorkom je dingen zoals MysqlInjection.

Of wat geadvanceerdere mysql leren door middel van procedures en views. Dan is je database ook al vrij goed beveiligd.
It was an opportunity to honour our memories and to make room for new ones
pi_110598264
quote:
19s.gif Op zaterdag 21 april 2012 16:08 schreef TwenteFC het volgende:
:o Die aflevering van Zembla is wel hard... ongelooflijk!
Best kans dat ze voor de zomer failliet zijn...
quote:
Ook de klant de schuld geven voor wachtwoorden als "123456" .. en dan als excuus "Ja wij kunnen niet zien wat voor een wachtwoord ze nemen".
En het achterhalen van de wachtwoorden duurde ook niet lang, dus of ze zijn als plaintext opgeslagen of er is een zwakke encryptie gebruikt.
quote:
Tuurlijk veranderen mensen hun wachtwoord naar iets makkelijks, dit moet je gewoon onmogelijk maken, en daarbij snap ik niet dat ze geen Tokens o.i.d. gebruiken. Dat zijn de kosten niet.
Een wachtwoord als 123456 is wel heel simpel, daar mag best een regeltje bij dat er ook een letter in moet zitten.
pi_110598740
quote:
10s.gif Op zaterdag 21 april 2012 16:09 schreef stefanhaan het volgende:
Je moet gewoon een functie implementeren waarmee je standaard user input verwerkt en controleert. Als je dat aanleert voorkom je dingen zoals MysqlInjection.
Nee, je moet op de juiste momenten de juiste functies gebruiken. En dus kun je die pas zo laat mogelijk inzetten. Als je user input terug wilt sturen in een html pagina (zonder database), heb je niets aan sql escaping.
quote:
Of wat geadvanceerdere mysql leren door middel van procedures en views. Dan is je database ook al vrij goed beveiligd.
Dat doet weinig. Je moet procedures en views ook aanroepen en moet nog steeds een query samenstellen met of op basis van user input. Die moet je dan nog steeds escapen.
  zaterdag 21 april 2012 @ 16:56:25 #68
299167 stefanhaan
Bloeddorstige wasbeer
pi_110598978
quote:
0s.gif Op zaterdag 21 april 2012 16:51 schreef Light het volgende:

[..]

Nee, je moet op de juiste momenten de juiste functies gebruiken. En dus kun je die pas zo laat mogelijk inzetten. Als je user input terug wilt sturen in een html pagina (zonder database), heb je niets aan sql escaping.

[..]

Dat doet weinig. Je moet procedures en views ook aanroepen en moet nog steeds een query samenstellen met of op basis van user input. Die moet je dan nog steeds escapen.
Als je views en procedures gebruikt voorkom je inniedergeval dat er serieuze dingen gedaan kunnen worden zoals accounts creëren , dingen droppen. Je voegt een extra laag van security level toe.

Mits je het juist configureerd.
It was an opportunity to honour our memories and to make room for new ones
pi_110599050
quote:
0s.gif Op zaterdag 21 april 2012 16:42 schreef Light het volgende:

[..]

En het achterhalen van de wachtwoorden duurde ook niet lang, dus of ze zijn als plaintext opgeslagen of er is een zwakke encryptie gebruikt.

Wachtwoorden als 123456 duren nooit lang om te achterhalen (als ze niet gesalt zijn). Daar kun je de hashes gewoon van googlen.
pi_110601566
quote:
14s.gif Op zaterdag 21 april 2012 16:57 schreef KomtTijd... het volgende:

[..]

Wachtwoorden als 123456 duren nooit lang om te achterhalen (als ze niet gesalt zijn). Daar kun je de hashes gewoon van googlen.
Als er zulke gevoelige data achterligt dan mag het gewoon niet kunnen, een checkje maken die controleert of er op zijn minst een !@#$% teken,kleine letter,hoofdletter en cijfers inzitten is binnen 1 minuut gemaakt.
  zaterdag 21 april 2012 @ 18:09:22 #71
12221 Tijn
Powered by MS Paint
pi_110601877
quote:
19s.gif Op zaterdag 21 april 2012 16:08 schreef TwenteFC het volgende:

:o Die aflevering van Zembla is wel hard... ongelooflijk!
De reactie van VCD ook :') Dit persbericht bijvoorbeeld, echt om te janken. Ze ontkennen eigenlijk gewoon alles.
pi_110602390
quote:
2s.gif Op zaterdag 21 april 2012 18:09 schreef Tijn het volgende:

[..]

De reactie van VCD ook :') Dit persbericht bijvoorbeeld, echt om te janken. Ze ontkennen eigenlijk gewoon alles.
;( De mensen die netjes laten weten dat je site lek is aanklagen, en de hackers die dmv van 100 proxy's binnen zijn gekomen daar kunnen ze niets tegen maken.
pi_110602643
quote:
2s.gif Op zaterdag 21 april 2012 18:09 schreef Tijn het volgende:

[..]

De reactie van VCD ook :') Dit persbericht bijvoorbeeld, echt om te janken. Ze ontkennen eigenlijk gewoon alles.
En ondertussen zijn ze wel op zoek naar personeel:
Productmanager verzuimapplicaties VCD Humannet

Waar is de vorige productmanager gebleven?
  zaterdag 21 april 2012 @ 19:10:12 #74
12221 Tijn
Powered by MS Paint
pi_110603823
Het is ook de enige vacature die ze hebben :')
  zaterdag 21 april 2012 @ 20:00:18 #75
299167 stefanhaan
Bloeddorstige wasbeer
pi_110605871
weet iemand nog iets leuks te devven? :')
It was an opportunity to honour our memories and to make room for new ones
pi_110606120
Ja een Analytics overview van alle sites van je account met view/pageviews gisteren en vandaag en een percentage van hoever je vandaag bent vergeleken met vandaag.

Was al begonnen, maar moet zo weg ;)

Google Analytics API is overal te krijgen.
pi_110606736
Keer op keer verbaas ik me weer over dat mensen zonder kennis aangenomen worden op zulke functies. Geen wonder dat er constant lekken zijn. En maar weer bashen op de lekkers dan.
  zaterdag 21 april 2012 @ 20:40:47 #78
75592 GlowMouse
l'état, c'est moi
pi_110607908
quote:
2s.gif Op zaterdag 21 april 2012 14:04 schreef Tijn het volgende:

[..]

Als hetzelfde MySQL-account ook schrijfrechten heeft, kan de database ook worden aangepast.
Dit klopt niet.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zaterdag 21 april 2012 @ 21:03:37 #79
12221 Tijn
Powered by MS Paint
pi_110609126
quote:
0s.gif Op zaterdag 21 april 2012 20:40 schreef GlowMouse het volgende:

[..]

Dit klopt niet.
Hoezo niet?
  zaterdag 21 april 2012 @ 21:09:16 #80
75592 GlowMouse
l'état, c'est moi
pi_110609400
quote:
5s.gif Op zaterdag 21 april 2012 21:03 schreef Tijn het volgende:

[..]

Hoezo niet?
hoe wil je dat doen dan?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_110609903
quote:
15s.gif Op zaterdag 21 april 2012 20:18 schreef Tegan het volgende:
Keer op keer verbaas ik me weer over dat mensen zonder kennis aangenomen worden op zulke functies. Geen wonder dat er constant lekken zijn. En maar weer bashen op de lekkers dan.
Vind als bedrijf die niet zoveel doet met developen, maar wel iemand nodig heeft maar eens iemand die het kan. Ik werk niet bij een development bedrijf, maar ergens waar het als bijzaak gebruikt wordt.

Voor mensen die hun opleiding als programmeur oid hebben afgemaakt is dit werk te min.
pi_110610583
quote:
0s.gif Op zaterdag 21 april 2012 21:19 schreef JDx het volgende:

[..]

Vind als bedrijf die niet zoveel doet met developen, maar wel iemand nodig heeft maar eens iemand die het kan. Ik werk niet bij een development bedrijf, maar ergens waar het als bijzaak gebruikt wordt.

Voor mensen die hun opleiding als programmeur oid hebben afgemaakt is dit werk te min.
Dat is echt geen excuus hoor :{. Eigenlijk hoort bij ieder bedrijf wel een programmeur, dan wel voor de website of voor intern verkeer.
  FOK!-Schrikkelbaas zaterdag 21 april 2012 @ 21:36:05 #83
862 Arcee
Look closer
pi_110610975
quote:
2s.gif Op zaterdag 21 april 2012 18:09 schreef Tijn het volgende:
De reactie van VCD ook :') Dit persbericht bijvoorbeeld, echt om te janken. Ze ontkennen eigenlijk gewoon alles.
Dit vooral:



Nee, omdat jullie per se niet wilden luisteren. _O-

Zembla stond bij ze in de receptie om ze te vertellen dat er vertrouwelijke informatie was blootgelegd, maar VCD haalde de politie erbij.:')
pi_110611184
quote:
0s.gif Op zaterdag 21 april 2012 21:30 schreef Tegan het volgende:

[..]

Dat is echt geen excuus hoor :{. Eigenlijk hoort bij ieder bedrijf wel een programmeur, dan wel voor de website of voor intern verkeer.
En wat nou als ze die niet kunnen vinden?
pi_110611349
quote:
0s.gif Op zaterdag 21 april 2012 21:40 schreef JDx het volgende:

[..]

En wat nou als ze die niet kunnen vinden?
Dan besteed je het programmeerwerk uit. Daarmee voorkom je ook dat je afhankelijk wordt van 1 persoon.
pi_110611350
quote:
0s.gif Op zaterdag 21 april 2012 21:40 schreef JDx het volgende:

[..]

En wat nou als ze die niet kunnen vinden?
Niet zomaar iemand laten aanmodderen. Beter zoeken. Beter salaris bieden.

Of wat Light zegt.
  zaterdag 21 april 2012 @ 21:43:04 #87
299167 stefanhaan
Bloeddorstige wasbeer
pi_110611362
quote:
0s.gif Op zaterdag 21 april 2012 21:30 schreef Tegan het volgende:

[..]

Dat is echt geen excuus hoor :{. Eigenlijk hoort bij ieder bedrijf wel een programmeur, dan wel voor de website of voor intern verkeer.
Dat wil zeggen als ieder bedrijf dat zou doen. Dat er ook wat bedrijven zijn waarbij de programmeur dan hele dagen niks te doen heeft. En hij voor niks betaald word.
It was an opportunity to honour our memories and to make room for new ones
  zaterdag 21 april 2012 @ 21:43:31 #88
299167 stefanhaan
Bloeddorstige wasbeer
pi_110611384
quote:
0s.gif Op zaterdag 21 april 2012 21:42 schreef Tegan het volgende:

[..]

Niet zomaar iemand laten aanmodderen. Beter zoeken. Beter salaris bieden.
Dit gebeurt sowieso al zelden in deze tijden.
It was an opportunity to honour our memories and to make room for new ones
pi_110611433
quote:
10s.gif Op zaterdag 21 april 2012 21:43 schreef stefanhaan het volgende:

[..]

Dat wil zeggen als ieder bedrijf dat zou doen. Dat er ook wat bedrijven zijn waarbij de programmeur dan hele dagen niks te doen heeft. En hij voor niks betaald word.
Nou goed. Niet alle bedrijven hebben er een nodig. Maar bedrijf van JDx bv. wel.
pi_110611478
quote:
0s.gif Op zaterdag 21 april 2012 21:36 schreef Arcee het volgende:

[..]

Dit vooral:

[ afbeelding ]

Nee, omdat jullie per se niet wilden luisteren. _O-

Zembla stond bij ze in de receptie om ze te vertellen dat er vertrouwelijke informatie was blootgelegd, maar VCD haalde de politie erbij.:')
Dat was ook wel erg, idd. Maar misschien komen ze liever zo in het nieuws dan op een manier waarbij de pers had kunnen melden dat de boel inmiddels beter beveiligd is.
pi_110611596
quote:
0s.gif Op zaterdag 21 april 2012 21:44 schreef Tegan het volgende:

[..]

Nou goed. Niet alle bedrijven hebben er een nodig. Maar bedrijf van JDx bv. wel.
Laatst had je Cue_ ookal in dezelfde situatie :{ .
pi_110612747
Sterker nog, ik heb mijn baan via Fok! omdat ze niemand konden vinden die daar wilde werken én iets wist van programeercode's etc ;)
pi_110613457
Want als het via Fok gebeurt kan het geen bedrijf zijn die fout bezig is?
pi_110613592
quote:
11s.gif Op zaterdag 21 april 2012 22:25 schreef Tegan het volgende:
Want als het via Fok gebeurt kan het geen bedrijf zijn die fout bezig is?
Nee dat laat zien hoe wanhopig ze waren om een nieuwe programmeur te vinden.
pi_110613642
quote:
Opvallend genoeg komt naar voren uit het onderzoek van deze experts, dat de ongeoorloofde toegang naar alle waarschijnlijkheid heeft plaatsgevonden middels voorkennis (lees: men heeft op onrechtmatige wijze een inlogwachtwoord in handen gekregen).
Als je inbreekt heb je voorkennis Logisch :P . Als je daarvoor nog geen notatie of een manier hebt bedacht om het te loggen, dan is het ook logisch hoe ze eraan komen. _O-
Dat VCD nog geen manier had om het te loggen, de inbraken.

Lijkt me ook niet meer dan logisch hoe ze met simpele SQL injections ze de wachtwoorden ontfutselden. :P
Redacted
pi_110613883
quote:
0s.gif Op zaterdag 21 april 2012 22:27 schreef JDx het volgende:

[..]

Nee dat laat zien hoe wanhopig ze waren om een nieuwe programmeur te vinden.
Dat is toch geen excuus om het zo op te lossen?
  FOK!-Schrikkelbaas zaterdag 21 april 2012 @ 22:45:13 #97
1972 Swetsenegger
Egocentrische Narcist
pi_110614467
quote:
0s.gif Op zaterdag 21 april 2012 22:11 schreef JDx het volgende:
Sterker nog, ik heb mijn baan via Fok! omdat ze niemand konden vinden die daar wilde werken én iets wist van programeercode's etc ;)
Maar je léést toch wel eens op een forum als je ergens niet uit komt? php freakz, hier, tweakers...? OVERAl, werkelijk OVERAL als iemand een stukje code post waarin userinput voorkomt is er altijd wel iemand die roept "check je userinput!"

Had je werkelijk nog nooit nagedacht bij sql injection en XSS en passwords beveilgen?
pi_110614695
Ik heb zelf ook PHP geleerd als hobbie, maar ik weet ook hoe ik veilige code moet schrijven. Dat heeft dus NIKS te maken met het zelf leren van code. Er is de laatste jaren zoveel aandacht besteed aan SQL-injection dat je wel iets had moeten weten ervan.

Ik kan me ook niet voorstellen dat er niemand is die je code niet checkt... dat is gewoon vragen om problemen. Je zou makkelijk een backdoor kunnen inbouwen bijvoorbeeld, of bij een grote webshop ofzo gewoon geld sluizen naar jezelf.

Ook je login was dus niet veilig als er geen beveiliging was kan ik daar met gemak inkomen. Ik zou jezelf flink scholen of als je dat zou willen, ben ik wel bereid wat code van je te reviewen en commentaar te geven wat wel en niet kan daarin.

[ Bericht 0% gewijzigd door #ANONIEM op 21-04-2012 22:51:53 ]
pi_110615744
quote:
0s.gif Op zaterdag 21 april 2012 22:51 schreef totalvamp het volgende:
Ik heb zelf ook PHP geleerd als hobbie, maar ik weet ook hoe ik veilige code moet schrijven. Dat heeft dus NIKS te maken met het zelf leren van code. Er is de laatste jaren zoveel aandacht besteed aan SQL-injection dat je wel iets had moeten weten ervan.
Ik denk dat het bij de meeste PHP programmeurs (of zelfs overal zo is, dat het met een hobby begon), maar is het begin wil je resultaten en ik denk dat JDx nog in die fase zit.

Na een tijdje, vooral als je ook voor jezelf aan werk/spelen/hobbyen bent dan wil je toch beter gaan programmeren en ga je dingen uit proberen. SQL injecties, verbeterde inlog procedures, inlog controles + algoritmes om aanvallen te detecteren, etc en daar leer je echt van. Maar als een bedrijf daar geen ruimte of prioriteit aan geeft dan wordt het ook last, ook al ben je daar voor jezelf al wel mee bezig en zie je dat bedrijven de fout in gaan. Je kan dat dan wel aangeven, maar hier heeft de bedrijfskundige in de organisatie meer macht aangezien jou voorstel niet direct geld oplevert en wat hij aanlevert wel.

VCD is nu gewoon keihard de lul en dat werd bij Zembla ook wel duidelijk. VCD wil dit niet herkennen aangezien het meestal de ondergang van een organisatie betekent. Dat werd op het einde ook wel duidelijk dat er een boete kan komen van enkele miljoenen.
pi_110617016
quote:
5s.gif Op zaterdag 21 april 2012 22:45 schreef Swetsenegger het volgende:

[..]

Maar je léést toch wel eens op een forum als je ergens niet uit komt? php freakz, hier, tweakers...? OVERAl, werkelijk OVERAL als iemand een stukje code post waarin userinput voorkomt is er altijd wel iemand die roept "check je userinput!"

Had je werkelijk nog nooit nagedacht bij sql injection en XSS en passwords beveilgen?
Ja klopt, gisteren ;)


quote:
0s.gif Op zaterdag 21 april 2012 22:51 schreef totalvamp het volgende:
Ik heb zelf ook PHP geleerd als hobbie, maar ik weet ook hoe ik veilige code moet schrijven. Dat heeft dus NIKS te maken met het zelf leren van code. Er is de laatste jaren zoveel aandacht besteed aan SQL-injection dat je wel iets had moeten weten ervan.

Ik kan me ook niet voorstellen dat er niemand is die je code niet checkt... dat is gewoon vragen om problemen. Je zou makkelijk een backdoor kunnen inbouwen bijvoorbeeld, of bij een grote webshop ofzo gewoon geld sluizen naar jezelf.

Ook je login was dus niet veilig als er geen beveiliging was kan ik daar met gemak inkomen. Ik zou jezelf flink scholen of als je dat zou willen, ben ik wel bereid wat code van je te reviewen en commentaar te geven wat wel en niet kan daarin.
Dan heb ik jouw droombaan, doen wat je wil en geen controle ;)
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')