[Q&A] Beveiliging algemeen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas!

Bekijk vacature »

Java Developer / Big Data / Microservices @ Regio

2021-02-12 iSense Java Developer / Big Data / Microservices Ben jij een ervaren Java Developer die enthousiast wordt van Big Data en Microservices? Werk jij graag met grote hoeveelheden data vanuit verschillende bronnen? Dan is dit de vacature voor jou! ISMO49008 Organisatie Bij dit grote, innovatieve technische bedrijf wil men graag flink groeien dit jaar, namelijk van zo'n 100 naar 120 mensen. In de afgelopen jaren is er hard gewerkt om een nieuw software product op de markt te zetten ter ondersteuning van hun fysieke producten en omdat dit een groot succes is, wordt het nu uitgerold over het hele

Bekijk vacature »

Front-End Developer / JavaScript / Vue.JS / Financ

2021-05-24 iSense Front-End Developer / JavaScript / Vue.JS / Financial organization ISDI47550 Company profile Our client is a large organisation in the banking sector, offering various products and services across Europe. The department you will work for consists of multiple Scrum teams based in Amsterdam, but also have team members working for their vendor partner at an off-shore location in India. The department responsible for three different large applications that are being used internally by other teams. The current architecture does not suffice with the present-day standards and will therefore (need to) be renewed. To do so, the team will

Bekijk vacature »

Pega developer

As a Pega developer at Mandemakers in Waalwijk you will make an important contribution to the digitization of our business processes. In your role you will coordinate and attribute to all facets of the digital transformation of our company (fulltime). As a Pega developer you will make an important contribution to the digitization of our business processes. In your role you will coordinate and attribute to all facets of the digital transformation of our company. DMG, a house full of opportunities. You will take part in a great project for DMG and for Pega. You and your team will have

Bekijk vacature »

Uitdagende kans voor .Net ontwikkelaars!

Bedrijfsomschrijving Deze informele organisatie heeft ontzettend veel contacten binnen grote en bekende organisaties. Dit zorgt ervoor dat jij als .Net ontwikkelaar op leuke en uitdagende projecten komt te werken, hierbij zal de focus vooral liggen op het midden van het land. Veel ontwikkelaars zijn via onze opdrachtgever aan het werk bij bijvoorbeeld grote financiële dienstverleners maar het is niet geheel ongebruikelijk om bij kleinere instanties aan het werk te gaan. Bij onze opdrachtgever ligt er veel focus op de persoonlijke ontwikkeling en groei van hun medewerkers. Je krijgt daarom veel ruimte om certificaten te behalen die belangrijk zijn voor jouw

Bekijk vacature »

Front-end Developer / JavaScript @ Nijmegen

2021-07-20 iSense Front-end Developer JavaScript Wil jij als Front-end Developer de kar trekken, een nieuw JavaScript framework implementeren en meedenken met UI oplossingen? Lees dan snel verder en solliciteer! ISK50467 Nieuw Organisatie Je komt als Front-end Developer te werken bij een familiebedrijf, een kleine en zeer succesvolle organisatie. Ze zijn een online verkoopplatform en in Nederland één van de grootste op hun gebied. Ze zijn ook internationaal actief, in de rest van Europa. Totaal werken er ruim 20 collega's, waarvan 6 ontwikkelaars in het IT-team. Het online platform en de applicaties rondom het platform zijn recent geheel vernieuwd en hiervoor

Bekijk vacature »

Advanced Mendix Developer

Advanced Mendix Developer - Public Transport Functiebeschrijving: Ben jij een ervaren Mendix Developer? Bij CGI Low Code Delivery Center krijg je een baan met inhoud! Werk dat ertoe doet, zoals het: Razendsnel ontwikkelen van slimme innovatieve maatwerk applicaties waarmee we onze klanten een voorsprong geven ten opzichte van hun concurrenten; Meedenken met de klant en analyseren wat er nodig is: je ziet kansen en mogelijkheden! Wat ga je doen? Als Advanced Mendix Developer begeleid en adviseer je onze klanten bij hun aangegeven business problematiek. Hierbij denk je buiten de gevestigde kaders en weet je optimaal gebruik te maken van de

Bekijk vacature »

Java developer met testervaring

Java developer met testervaring Ontwikkelen, testen, snel leren werken met verschillende frameworks en je kennis delen met collega’s. Jij vindt het allemaal leuk. En het mooie is: als Java-developer bij de keten IV-Interactie hoef je niet te kiezen. Al deze taken zijn namelijk voor jou weggelegd binnen het scrumteam dat werkt aan het burgerportaal Mijn Belastingdienst. Dit doe je bij de Belastingdienst Jij start in de releasetrain voor de ontwikkeling én instandhouding van Mijn Belastingdienst. Authenticatie, autorisatie, websecurity en formulieren zijn belangrijke onderdelen van het portaal. Samen met collega’s doorloop je het hele ontwikkeltraject. Dat begint met de refinement van

Bekijk vacature »

PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Javascript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP code schrijven. Samenwerken met de klantreiziger om onze klanten nóg

Bekijk vacature »

Senior RPA Developer

Do you want to work in one of the most international companies in the world? We are looking for a Senior RPA Developer at DHL Finance Services in Maastricht, Netherlands DHL is part of the world’s leading postal and logistics company Deutsche Post DHL Group, and encompasses the business units DHL Express, DHL Post & Paket, DHL eCommerce Solutions, DHL Global Forwarding, DHL Freight and DHL Supply Chain. The Parcel Accounting team is a part of eCommerce Solutions and was created 6 years ago and grew rapidly from 5 to 34 colleagues. We are a team of enthusiastic colleagues and

Bekijk vacature »

Dynamics Ontwikkelaar @ Regio Eindhoven

2021-06-03 iSense Dynamics Ontwikkelaar Ben jij een ervaren Dynamics Ontwikkelaar? Wil je meedenken over de toekomst van de organisatie op het gebied van Dynamics en dit zelfde verschil gaan maken op grote schaal bij andere bedrijven? Lees dan snel verder! ISTA50095 Organisatie Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Dynamics Ontwikkelaar word jij de specialist binnen

Bekijk vacature »

API Developer / Red Hat Fuse @ Amersfoort

2021-05-25 iSense API Developer Red Hat Fuse Heb jij als API Developer/Integratie specialist al enige ervaring met het ontwikkelen van API's en wil jij aan de slag met nieuwe oplossingen als Red Hat Fuse en 3Scale? Lijkt het jou gaaf om aan de vooravond te staan van de implementatie van een volledig nieuw applicatiehuis met tal van koppelingen? Ga jij daarnaast graag aan de slag binnen een uitdagende omgeving waarbij je de mogelijkheid krijgt jezelf verder te ontwikkelen? Lees dan snel verder! ISKO47622 Organisatie Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met

Bekijk vacature »

Java Developer bij InTraffic

Werken aan innovatieve oplossingen die onmisbaar zijn voor iedereen en dus ook voor jou als reiziger? Als Java Developer bij InTraffic kan jij een waardevolle bijdrage leveren! Hoe? Het ontwerpen en ontwikkelen met Java in een van onze complexe projecten. Waarom? Om een beter en veiliger OV in Nederland te creëren. Waar? Bij InTraffic in Nieuwegein, dé IT-specialist op het gebied van verkeer en vervoer. Met wie? Met een scrumteam van tussen de 3 en 9 professionals. Jouw rol als Java Developer Binnen onze complexe IT-omgeving van verkeer en vervoer spelen vele interessante projecten. Hierbij kun je denken aan migraties

Bekijk vacature »

Senior Software Developer @ Regio Den Haag

2021-08-16 iSense Senior Software Developer Heb jij ruime ervaring als Software developer en ben je toe aan een volgende stap in een coördinerende rol? Heb je ervaring met zelfontwikkelde software pakketten en maak je dit snel eigen? Dan is dit de vacature voor jou! ISBA49526 Nieuw Organisatie De organisatie waar je komt te werken is een enterprise omgeving waarbij IT een belangrijke rol speelt. Door de vele veranderingen in de markt waar zij op in moeten spelen, werken zij met innovatieve technologieën. Het team is erg stabiel en werkt continue aan het optimaliseren van de complexe omgeving, het implementeren van

Bekijk vacature »

Data Engineering Training Track Class (DETT) - sta

Data Engineering Training Track Class (DETT) - start 3 Januari 2022 Functiebeschrijving: Are you starting out in IT and looking to expand your skillset? Then CGI is the right choice for you! Because of our strong competencies in the field and the scale of our business, we can shape any kind of career in IT. As a stable and growing organization, we offer you every opportunity to work on exciting projects that have an impact on the real world. What can you expect? In the Data Engineering Training Track (DETT) you will be trained to become a full-blown Azure Data

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

22/10/2021 14:01:52
 
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.