[Q&A] Beveiliging algemeen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

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 »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

C# .NET Developer

Dit ga je doen Je richt je op het doorontwikkelen en herstructureren van het platform; Je werkt in teamverband en zelfstandig aan uitdagende projecten voor verschillende klanten; Softwareontwikkeling middels C# .NET; Je staat in contact met verschillende opdrachtgevers om de klantwensen te bespreken en deze vervolgens te ontwikkelen; Verbeteren van bedrijfsprocessen; Implementaties. Hier ga je werken Als .NET Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

Medior/Senior Front-end Developers gezocht (Utrech

Functie Het team bestaat uit 10+ gespecialiseerde (veel senior) front-end ontwikkelaars en ontwerpers die werken aan projecten voor klanten van verschillende groottes (kan twee jaar bezig zijn met 1 klant). Je helpt klanten met ingewikkelde front-end vraagstukken, hierbij kun je denken aan: UX/UI design, CI/CD, architectuur en integratie met back-end systemen. De werkzaamheden verricht je op locatie bij de klant, dit is vaak in de Randstad. De organisatiestructuur is plat en er heerst een informele sfeer, zo kun je met vragen dus terecht bij de directie. Er wordt veel nadruk gelegd op het bevorderen van persoonlijke ontwikkeling door middel van

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 »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

Lead developer

Functie Als Lead developer wordt jij onderdeel van een multidisciplinair team van circa 23 software engineers. Als team werken jullie agile en zijn termen als Continuous Integration en Continuous Delivery dagelijkse koek. Jullie werken aan uitdagende en afwisselende projecten met als doel klanten een totaal oplossing aan te kunnen bieden. Jij wordt verantwoordelijk voor complete projecten waarbij jij als verantwoordelijke zorgt dat het project op de juiste manier blijft draaien. Zo haal jij ook de requirements op bij de klant en kijk jij samen met het team en met de salesafdeling hoeveel uren hiervoor nodig zijn. Daarnaast stuur jij jouw

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer start jij in een development team met twee ervaren software ontwikkelaars. Jouw persoonlijke ontwikkeling is voor ons erg belangrijk en jij gaat dan ook meelopen met onze Senior .NET ontwikkelaar die jou met zijn kennis en ervaring een goede begeleiding kan aanbieden. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Laravel / PHP developer

Functie omschrijving Wij zijn op zoek naar een Medior PHP / Laravel Developer voor een IT-consultancy in de omgeving van Hoofddorp! Ben jij op zoek naar een leuke nieuwe uitdaging binnen een veelzijdige werkomgeving? Lees dan snel verder! Binnen dit bedrijf werk je in een ontwikkelteam, waarin je zeer betrokken bent en meedenkt over softwareoplossingen. Binnen dit Team hou je je bezig met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken;

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Pagina: 1 2 3 volgende »

Chris -

Chris -

05/08/2013 17:51:35
Quote Anchor link
SQL Injecties is de nummer één oorzaak van een gehackte website. Toch zijn er nog veel mensen die er nog nooit van hebben gehoord, of er te weinig van af weten.

Buiten SQL Injecties zijn er natuurlijk nog veel meer dingen met betrekking tot beveiliging. Om die reden is het topic veranderd van SQL Injecties, naar beveiliging algemeen. Alle beveiliging-gerelateerde vragen kunnen hier worden gesteld.

Om het een beetje overzichtelijk te houden, wil ik het volgende voorstellen. Wanneer je een vraag hebt, stel je deze als volgt: (de quote moet je dus even zien als een losse reactie, maar laat het iets beter zien!)

Willekeurig - op 05/08/2013 17:45:00:
Vraag: Ik heb de volgende query. Is deze voldoende beveiligd?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
include('configuration.php'); // Vanuit hier wordt de SQL-verbinding opgezet

$veld_3 = !empty($_GET['veld_3']) ? mysql_real_escape_string($_GET['veld_3']) : 1;
$resource = mysql_query("SELECT id, veld_1, veld_2 FROM willekeurige_tabel WHERE veld_3 = " . $veld_3);
?>


Een antwoord zou dan zijn:
Quote:
Willekeurig - op 05/08/2013 17:45:00:
Vraag: Ik heb de volgende query. Is deze voldoende beveiligd?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
include('configuration.php'); // Vanuit hier wordt de SQL-verbinding opgezet

$veld_3 = !empty($_GET['veld_3']) ? mysql_real_escape_string($_GET['veld_3']) : 1;
$resource = mysql_query("SELECT id, veld_1, veld_2 FROM willekeurige_tabel WHERE veld_3 = " . $veld_3);
?>

Antwoord: Je gaat er op dit moment van uit dat veld_3 een integer is, aangezien je geen quotes gebruik. Controleer daarom met ctype_digit of de variabele een integer is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if (!empty($_GET['veld_3']) && ctype_digit($_GET['veld_3'])) {
    $veld_3 = $_GET['veld_3'];
}

else {
    $veld_3 = 1;
}

?>

Zolang je dit controleer, hoef je de variabele niet te escapen.


Om gelijk wat interessant leesvoer aan te bieden, lees het volgende topic op StackOverflow maar eens: SQL-injection that gets around mysql_real_escape_string?
Gewijzigd op 06/08/2013 14:00:51 door Chris -
 
PHP hulp

PHP hulp

29/04/2024 12:15:17
 
Landleven Tips

Landleven Tips

05/08/2013 18:38:53
Quote Anchor link
Hallo,

Volgens jouw bericht, en de genoemde link hoef ik dus geen mysqli_real_escape_string() te gebruiken, als ik er ctype_digit() over de input field zet. Dit deel begrijp ik nog niet helemaal, of begrijp ik het verkeerd?
 
Dennis WhoCares

Dennis WhoCares

05/08/2013 18:47:32
Quote Anchor link
ctype_digit($getal) geeft een waarde terug. true / false
Hiermee controlleer je dus of $getal een getal is. Zo ja, dan kun je query uitvoeren.
Als dat het enige user input is van je query, hoef je inderdaad geen mysqli_real_escape_string() te gebruiken.
 
Landleven Tips

Landleven Tips

05/08/2013 18:58:08
Quote Anchor link
Hallo Dennis,

Bedankt voor je snelle antwoord, hoe zit het dan met tekst. Is daarvoor mysqli_real_escape string() ook veilig genoeg, of kan je daarbij ook ctype_alnum() gebruiken zonder mysqli_real_escape_string() zoals getoont in de onderstaande code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if (!empty($_GET['veld_3']) && ctype_alnum($_GET['veld_3'])) {
    $veld_3 = $_GET['veld_3'];
}

else {
    $veld_3 = 'Geen geldige waarde!';
}


?>


Laten we hierbij dan zeggen dat veld_3 de teskt [Hallo 'OR 1=1 " mensen] is.
Gewijzigd op 05/08/2013 18:59:22 door Landleven Tips
 
Dennis WhoCares

Dennis WhoCares

05/08/2013 19:02:19
Quote Anchor link
Dat klopt, want ctype_alnum($var) geeft true of false terug, op basis van het feit of de $var alleen maar uit letters en/of cijfers bestaat.

Ook in dit geval als er geen speciale tekens mogelijk zijn voor user input, is ook hier mysqli_real_escape_string() niet nodig
 
Landleven Tips

Landleven Tips

05/08/2013 19:06:31
Quote Anchor link
Dus samengevat, als ik ctype_alnum($var) gebruik, of ctype_digit of een andere ctype_* hoeft er dus geen mysqli_real_escpae_string($var) erbij. Eigelijk wordt hierbij dus mysqli_real_escpae_string($var) overbodig.
 
Dennis WhoCares

Dennis WhoCares

05/08/2013 19:10:32
Quote Anchor link
Nee, dat is niet waar.
Het ligt maar net aan de doelstelling van je script.
Als voorbeeld, een shoutbox, chatbox, gastenboek w.e
Soms is het dus wel handig / leuk / vriendelijk dat mensen ook , . ( ) enz. kunnen gebruiken.
Daarbij is het zeer zeker noodzakelijk dat je mysqli_real_escape_string($var) gebruik.
De overige functies waar het zojuist om ging, gebruik je om je input te controlleren.
Als een soort foutafhandeling, voordat je de query uitvoerd.
 
Chris -

Chris -

05/08/2013 19:12:29
Quote Anchor link
Let er wel even op dat als je bijvoorbeeld 's-Gravenhage doet, deze dan niet door die validaties heen gaat..

Toevoeging op 05/08/2013 19:13:37:

Het moet een toevoeging zijn (valideren van de input, zoals je dat altijd hoort te doen), geen volledige afhankelijk. Met ID's die vaak numeriek zijn kan het een stuk makkelijker. Gebruik verder altijd de laatste versies van MySQL en schrijf je queries gewoon goed. En het liefste PDO, maar dan wel op de manier die op SO is uitgelegd :)
 
Landleven Tips

Landleven Tips

05/08/2013 19:17:22
Quote Anchor link
Hallo alle,

Het gaat hierbij bijvoorbeeld om een input field waar de gebruiker een gebruikersnaam in kunnen voeren, hierbij wil ik geen ' () - enz in hebben. Daarvoor dus ctype_alnum() voldoende moeten zijn volgens Dennis WhoCares.
 
Dennis WhoCares

Dennis WhoCares

05/08/2013 19:22:49
Quote Anchor link
Dat klopt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')  {
 $error = array();
 if(!ctype_alnum($_POST['login_username'])) {
   $error[] = '<li>U heeft een ongeldige gebruikersnaam ingevoerd!</li>';
 }

 if(empty($error)) {
  echo 'SQL query uitvoeren voor gebruikersnaam ' . $_POST['login_username'];
 }
else {
  echo 'Foutmelding: <ul>' . implode($error) . '</ul>';
 }
}
else {
 echo 'Login form...';
}

?>

Maar dan is het nog niet waar dat de gehele functie mysqli_real_escape_string() te verwaarlozen is.
Zoals ik al aangaf en Chris- dus ook. Het is geheel afhankelijk van de doelstelling van de user input.
Gewijzigd op 05/08/2013 19:28:19 door Dennis WhoCares
 
Landleven Tips

Landleven Tips

05/08/2013 19:25:25
Quote Anchor link
Oke, bedankt voor de uitleg nu snap ik het.
 
Francoi gckx

Francoi gckx

05/08/2013 20:58:40
Quote Anchor link
Is het beter om vóór prepared PDO statements ook met mysqli_real_escape string te beveiligen of onnodig?
 
Chris -

Chris -

05/08/2013 21:01:02
Quote Anchor link
Juist niet!! Anders heeft het geen nut..
 
Francoi gckx

Francoi gckx

05/08/2013 21:11:55
Quote Anchor link
Dus gewoon alleen prepared statements?

Kan je ook een ander topics maken voor andere beveiligingpreventies zoals XSS
 
Chris -

Chris -

05/08/2013 21:12:56
Quote Anchor link
Voor XSS is het nog simpeler ;-) htmlentities over de variabele zetten op het moment dat je de variable in je document echo't!
 
Francoi gckx

Francoi gckx

05/08/2013 21:17:27
Quote Anchor link
En CSRF?
 
Chris -

Chris -

05/08/2013 22:04:24
Quote Anchor link
Da's inderdaad wel een heel ander topic! Heb ik ook iets meer tijd voor nodig...
 
Francoi gckx

Francoi gckx

05/08/2013 22:20:52
Quote Anchor link
Alvast Bedankt zou echt handig zijn!
 
Chris PHP

Chris PHP

06/08/2013 08:02:36
Quote Anchor link
Chris - op 05/08/2013 17:51:35:
SQL Injecties is de nummer één oorzaak van een gehackte website.


Niet mee eens, er wordt vaker code geinjecteerd in pagina's en advertenties dan dat er daadwerkelijk SQL injecties plaatsvinden. Anno 2013 weten mensen inmiddels dat je queries moet beveiligen, alle 'PHP and MySQL' boeken leggen ook uit dat je dit moet doen en hoe.
 
Chris -

Chris -

06/08/2013 08:58:53
Quote Anchor link
Chris, laat maar zien waar je dat vandaan haalt. Mijn ervaring (en ik heb redelijk wat ervaring) plus de statistieken vertellen nog steeds: SQL injecties staat op 1.
 
Chris PHP

Chris PHP

06/08/2013 09:10:20
Quote Anchor link
@Chris,

Hier een lijst die ik gevonden heb met de top 20 hacking methodes. SQL injection staat op 19.

Quote:
1.Bypassing Flash’s local-with-filesystem Sandbox
2.Abusing HTTP Status Codes to Expose Private Information
3.SpyTunes: Find out what iTunes music someone else has
4.CSRF: Flash + 307 redirect = Game Over
5.Close encounters of the third kind (client-side JavaScript vulnerabilities)
6.Tracking users that block cookies with a HTTP redirect
7.The Failure of Noise-Based Non-Continuous Audio Captchas
8.Kindle Touch (5.0) Jailbreak/Root and SSH
9.NULLs in entities in Firefox
10.Timing Attacks on CSS Shaders
11.CSRF with JSON – leveraging XHR and CORS
12.Double eval() for DOM based XSS
13.Hidden XSS Attacking the Desktop & Mobile Platforms
14.Rapid history extraction through non-destructive cache timing (v8)
15.Lotus Notes Formula Injection
16.Stripping Referrer for fun and profit
17.How to upload arbitrary file contents cross-domain (2)
18.Exploiting the unexploitable XSS with clickjacking
19.How to get SQL query contents from SQL injection flaw
20.XSS-Track as a HTML5 WebSockets traffic sniffer


Waar is jou lijst?
 

Pagina: 1 2 3 volgende »



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.