[Q&A] Beveiliging algemeen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net Developer

De vacature Als junior .Net developer creëer je (maatwerk) software voor diverse vraagstukken. Stroomlijn je het werkproces van zorgpraktijken in de paramedische sector en klinieken. Hierbij gaat het om een omgeving met veel gebruikers, zowel behandelaren, medisch specialisten als patiënten. Hoge eisen worden gesteld aan de beschikbaarheid, performance en beveiliging van de applicatie. Functie eisen HBO, Universitair opgeleid Relevante technische vaardigheden Analytische vaardigheden Jouw belangrijkste taken 1. Fouten oplossen; 2. Vacature .Net Developer Cooder.nl 3. Snelheid verbeteren; 4. Front-end optimalisatie; 5. Gedeeltelijk vanuit huis Over James Software James biedt praktijksoftware op maat voor fysiotherapie, logopedie, podotherapie, ergotherapie, GGZ, orthomanuele geneeskunde,

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 »

Java Developer

De vacature Word jij enthousiast van het werken in een veelbelovende IT scale-up? Word jij enthousiast van het samen bereiken van resultaten en het idee dat je er niet alleen voor staat? En wil je dat doen in een no-nonsene omgeving waar jouw inspanningen op waarde geschat worden? Dan komen wij graag met jou in gesprek! Wie zijn wij? Quad Solutions is een jonge, enthousiaste IT-scale-up die vanuit de teams filosofie werkt. Wij bieden complete teams aan bij klanten en geloven in de autonomie van onze mensen. Daarom behandelen wij ze ook zo. Bij ons geen onzin, performance reviews die

Bekijk vacature »

Full Stack .NET Developer

De vacature Copaco zoekt twee Full Stack .NET Developers die op lange termijn met passie mee gaan bouwen aan de microservice architectuur. Er wordt hard gewerkt om de software ontwikkeling stapsgewijs om te zetten naar een state of the art-manier van werken, zonder hierbij de bestaande software applicaties uit het oog te verliezen. Binnen de teams wordt gewerkt met meerdere technieken, zoals C#, maar ook in PHP gebaseerde frameworks. Je werkdag gaat er als volgt uit zien: Je begint de dag met een stand-up met je team. Vervolgens ga je aan de slag met het ontwikkelen van een nieuwe API

Bekijk vacature »

Front-end Developer

De vacature Klaar om je eerste stappen te zetten binnen je carrière als Front-end Developer? Bij Label A ga je werken aan maatwerk (web) applicaties voor klanten zoals Rocycle, Van Oord en FIGO. Dit doe je natuurlijk niet alleen! Je bent onderdeel van het hechte Front-end team en werkt in multidisciplinaire teams. Functie eisen Kennis van React, React Native, NextJS, Gatsby, Typescript en styled-components. Communicatief sterk, aangezien je direct contact hebt met de klant. Passie voor Front-end en op de hoogte van de laatste ontwikkelingen. Jouw belangrijkste taken 1. Werken aan maatwerk (web) applicaties voor onze klanten; 3. Nauw contact

Bekijk vacature »

Ervaren Ontwikkelaar

De vacature Samen in een team van ontwikkelaars help je mee met het onderhouden en uitbreiden van de CarWise software. Binnen het team heb je een grote mate van vrijheid en eigen verantwoording in de uitvoering van je werk. De software kent vele functionaliteiten en de daarbij behorende ontwikkeltechnieken en geeft daarom veel variatie in de werkzaamheden. Kortom een uitdagende en afwisselende functie. Functie eisen een HBO opleiding en relevante werkervaring in een soortgelijke functie kennis van C#.NET. MS SQL, WinForms en bij voorkeur kennis van entity framework, REST en C++ klant- en resultaatgerichtheid analytisch denken, secuur werken en kwaliteit

Bekijk vacature »

Lead Mendix Developer

Do you have passion for software development? Do you enjoy guiding and inspiring junior developers by sharing your knowledge? Is it your ambition to develop into a full stack developer? Then, this is your top job! You will be a part of our development team and work closely together with the other team members. We value our codebase’s readability, maintainability, and testability and look for someone who shares these values. With more than 100 companies in different product-market combinations, no day is the same at VDL. Your role: Help our company accelerate the delivery of real impactful changes through software

Bekijk vacature »

Java Ontwikkelaar

De vacature Senior Java Software Engineering ervaring en expertise (minimaal 8-10 jaar ervaring) Bij voorkeur een Masters in Informatica (gerelateerde) opleiding Ervaring als Informatie analist en bekend met daarin gebruikte techieken (Agile/Scrum development technieken als Use Cases, user stories). Ervaring, of potentie en ambitie als technische team-lead, Scrum master Bij voorkeur ervaring met, maar tenminste affiniteit met bedrijfsprocessen als customer care en billing. Sterke ondernemers mentaliteit acterend in een jonge, groeiende onderneming: Parallel werken aan verschillende typen projecten Kunnen omgaan met tijdsdruk, onvolledige- en onduidelijke input, minimale sturing Sterke motivatie om nieuwe technieken en technologieën te leren Vermogen om zelf

Bekijk vacature »

C# Developer

De vacature Als ervaren software ontwikkelaar werk je aan het innovatieve financiële platform waarop al onze Fintech services zijn gebaseerd. Je zet complexe vraagstukken om in code (C#-.Net, MS-SQL) en neemt de lead bij nieuwe ontwikkelingen. Je bent en voelt je verantwoordelijk voor het eindproduct, je eigen werk en je streeft naar een hoog opleveringsniveau. Je zoekt actief naar nieuwe technologieën, tools en toepassingen.Samen met collega’s bepaal je de beste oplossingen en motiveert elkaar om kwaliteitsproducten op te leveren. Je bent proactief in het aandragen van oplossingen en mogelijkheden. Wat wij bieden Naast prima arbeidsvoorwaarden (passend salaris, winstdeling, studiemogelijkheden, etc.)

Bekijk vacature »

.NET Software Developer - Amstelveen

De vacature Met je kennis van .NET en de Microsoft-stack het verschil maken in de digitale transformatie van bedrijven; dat is wat wij zoeken in een .NET software developer. In de tijd die je al als software developer bezig bent geweest, heb je inmiddels veel kennis opgedaan over .NET en weet je hoe je in C# het beste applicaties kunt ontwikkelen. Maar wij weten ook dat development breder is dan coderen alleen. Goede software ontwikkelen heeft voor jou net zo goed te maken met het toepassen van best practices en goede architectuur, het efficiënt gebruik van resources of het kunnen

Bekijk vacature »

Junior .NET Ontwikkelaar @ Regio Rotterdam

2021-10-17 iSense Junior .NET Ontwikkelaar Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond OF heb jij middels cursussen je sporen verdiend in het programmeren en wil je graag aan de slag als Fullstack .NET Developer? Lees dan snel verder! Want in januari/februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie .NET. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISLE51117 Locatie Rotterdam en omstreken Wat ga je doen tijdens het Fullstack .NET Developer ontwikkeltraject? Vanaf januari/februari 2022 krijg jij

Bekijk vacature »

Frontend Developer - Den Bosch

De vacature Als Front-end Developer bij onze locatie in Den Bosch, ben je écht een onderdeel van het geheel. Binnen deze rol ben je namens PanCompany werkzaam in vernieuwende langetermijnprojecten bij onze TOP 200 klanten in Nederland. We kijken naar jouw voorkeuren en interesses om ervoor te zorgen dat je goed op je plek zit bij een van deze klanten. Binnen deze rol ben je verantwoordelijk voor het ontwikkelen van de Front-End van web based applicaties. Jij bent iemand met een passie voor hetgeen wat je doet en in nauwe samenwerking met andere ontwerpers, Back-End ontwikkelaars en testers werk je

Bekijk vacature »

Full stack Senior Developer

De vacature Als Developer in een agile team ontwikkel je software voor zowel front- als backend van onze regelsystemen. Een ideale functie voor iemand met een brede interesse op het gebied van software ontwikkeling. Als teamlid heb je een eigen specialisme, op dit gebied ben je echt een voorloper. Je houdt de nieuwste ontwikkelingen in de techniek bij en draagt die kennis over op jouw collega’s. Functie eisen Goede mondelinge en schriftelijke kennis van de Engelse taal Ervaring met C#, CSS, HTML5 .Net 4.0 en javascript Kennis van TDD / SOLID / Clean code C# .Net Azure (apps, CosmicDB) Angular

Bekijk vacature »

Backend Developer

De vacature Wij zoeken een medior backend developer, welke ervaring heeft met Django REST Framework en REST APIs, welke voornamelijk zal werken aan de uitbreiding van de Utomik API. De Utomik API wordt door verschillende producten gebruikt zoals onze Utomik client (waar de games in te spelen zijn), website en management console. Als medior backend developer wordt verwacht dat je aan de hand van requirements, zelfstandig een technische specificatie kan opstellen en deze kan implementeren met REST best practices en de verschillende consumers van de API in het achterhoofd. Functie eisen Relevante kennis (en opleiding) Relevante werkervaring Communicatief (woord en

Bekijk vacature »

ETL Developer

De vacature Als ETL Developer ben jij verantwoordelijk voor het fundament: het modeleren en implementeren van robuuste, high-performing datastores en het importeren en verwerken van data uit verschillende bronnen. Voor jou kan het volume niet te groot en de doorlooptijd nooit te kort zijn. Jij blijft steeds op zoek naar verbeteringen in de ETL pipeline. Functie eisen Uitstekende beheersing van MS SQL Server en SSIS Kennis van en ervaring met .NET / C # zijn een pre Certificaten van Microsoft zijn een pre Een HBO- of WO-diploma van een IT-gerelateerde studie Ervaring in de context van grote internationale ondernemingen (bij

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

28/11/2021 01:09:48
 
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.