[Q&A] Beveiliging algemeen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pega Developer - Banking

Do you have passion for innovation and get motivated by complex challenges and innovative solutions? Are you ready for working with state of the art PEGA technology? Do you have enough experience to quickly and adaptively deploy new processes and tools for our customers? Your day-to-day activities As an experienced PEGA Developer you design, develop and test software systems and applications. You know what the software system of the client needs to do and you find ways to continuously improve and revolutionize them. You work in multidisciplinary Agile teams on common goals, quickly process feedback and put quality first in

Bekijk vacature »

BI Developer / Oracle / Internationaal @ Utrecht

2021-08-16 iSense BI Developer Oracle Internationaal Ben jij op zoek naar een dynamische omgeving om als BI Developer aan de slag te gaan? Heb jij goede kennis van Oracle BI, Datawarehouses en Oracle Data Integrator (ODI)? En pas jij dit graag toe in een innovatieve omgeving waar je voldoende uitdaging zult vinden? Reageer dan nu! ISKL48194-2 Organisatie Deze organisatie is internationaal actief binnen de zakelijke dienstverlening en heeft de kwaliteit van de IT afdeling hoog in het vaandel staan. Al vanaf de oprichting, meer dan 30 jaar geleden, heeft de IT afdeling alle systemen in eigen beheer en worden de

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue back’s office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

Front-end Developer

Heb jij ervaring als Developer en werk je graag aan projecten voor toonaangevende klanten? En zoek jij een uitdagende en verantwoordelijke positie met ontwikkelmogelijkheden binnen een informeel bedrijf? Lees dan verder! Doel van de functie Het implementeren van Magento voor internationale klanten, het bouwen van thema’s en customizations. Je vertaalt klantwensen naar Magento functionaliteit en gaat je bezig houden met het up-en-running houden van webshops. Werkzaamheden Je maakt onderdeel uit van het development team en gaat je bezighouden met: Het implementeren van Magento voor klanten, bouwen van thema’s en customizations; Het verwerken en vertalen van functionele klantwensen naar Magento oplossingen;

Bekijk vacature »

Senior Developer Mendix (NL)

Senior Developer Mendix (NL) Den Haag HBO/WO IT Professional "Wij zetten Mendix in voor onze kritieke processen om de favoriete bezorger van Nederland te zijn. We zoeken een Mendix Developer die met ons verder bouwt aan de 'digital core' van PostNL" Wat ga je doen? PostNL is a logistical tech company. Als Mendix Developer  kom je te werken in een organisatie waarbij data, technologie en een engineering culture een sleutelrol spelen. PostNL wil 'digital at the core' zijn en daarom staan we aan de voorgrond van het ontwikkelen van onze eigen logistieke software.    In de functie van Mendix Developer

Bekijk vacature »

PHP Developer Scrum / Symphony

Over het bedrijf: Wij zijn een grote muziekwinkel. Ben jij een enthousiaste PHP-developer? Heb je kennis van Symfony? Vaste baan: PHP Developer Scrum Symphony 2.600 - 3.800 PHP Developer Wij zijn de grootste online muziekwinkel van de Benelux, en de toekomstig grootste muziek-winkel van Europa. Met honderdduizenden pakketten die jaarlijks verstuurd worden en miljoenen unieke bezoekers per jaar zijn we marktleider in de Benelux op het gebied van licht, geluid, muziekinstrumenten, produceer- en DJ-gear. Wij hebben enkel gepassioneerde en professionele ontwikkelaars in dienst. Wij kennen een open en informele bedrijfscultuur. Wil jij in een hecht team aan de slag? Dan

Bekijk vacature »

PHP Developer Javascript / Agile

Wie wordt jouw werkgever?: Wij hebben veel ervaring in het ontwikkelen van websites en applicaties. Wil jij werken als PHP developer? Heb jij ervaring met PHP? Vaste baan: PHP Developer Javascript Agile 3.000 - 4.300 PHP Developer Een webbureau met veel ervaring in het ontwikkelen van websites en applicaties. We blijven up-to-date met nieuwe (technische) mogelijkheden van het internet, om de klant optimaal te kunnen adviseren. We zijn een dynamische organisatie met veel kennis van het internet. Op kantoor is een ontspannen maar professionele werksfeer waar veel ruimte is om je verder te ontwikkelen. Wij werken voor MKB klanten. We

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little C# or JavaScript. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing PHP code. Working with the Customer Journey Specialist to make

Bekijk vacature »

Typescript Developer / Cloud platform @ Regio Eind

2021-08-20 iSense Typescript Developer / Cloud platform Ben jij een Typescript Developer en werk je graag aan innovatieve producten? Lees dan snel verder! ISTA47805 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 Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt gebruikt door verschillende klanten. Hierbij

Bekijk vacature »

C# .NET Full Stack Developer Medische Software / C

Over de werkgever: Wij ontwikkelen 3D analyse software voor de medische sector. Ben jij een ervaren Full Stack ontwikkelaar? Heb jij ervaring met C#? Vaste baan: C# .NET Full Stack Developer Medische Software JavaScript 3.300 - 4.500 C# Full Stack Developer Ons bedrijf ontwikkelt geavanceerde software voor analyse van medische beelden. Artsen gebruiken onze software bij de diagnosestelling. Wij zijn een veelzijdige organisatie. Je werkt voor onze eigen IT organisatie. We werken met moderne technologie en staan open voor innovatie. Wat houdt de functie precies in?: Voor de vacature als C# Full Stack Developer Bilthoven .NET ga je het volgende

Bekijk vacature »

Lead Developer in het Spoordomein

Ben jij altijd degene in het team die de knopen doorhakt? Die samen met collega’s de best passende oplossing bepaalt? Wat ga je doen? Als Lead Developer ben je de spil tussen de klant en het ontwikkelteam. Je helpt aan de ene kant de Product Owner met het managen van de backlog en het realiseren van de business doelstellingen. En aan de andere kant zorg je voor een stabiele, flexibele software applicatie van hoge kwaliteit. Je zoekt continu naar verbeteringen in de architectuur, de gebruikte technologieën, het proces en de mensen. Je daagt je team uit om met goede ideeën

Bekijk vacature »

Full Stack Developer JavaScript HBO / GIT

Over de werkgever: Wij creëren ultramoderne digitale producten. Ben jij een Full Stack Developer? Heb je ervaring met programmeren? Vaste baan: Full Stack Developer Programmeren HBO 3.300 - 4.500 Full Stack Developer Wij zijn een Fullservice Internetbureau. Wij maken Websites, Apps en Portals, en zijn actief op gebied van E-commerce. We hebben ook veel aandacht voor websiteoptimalisatie (SEA en SEO), en systeemintegratie, en maken datakoppelingen met veel verschillende systemen. Bij ons werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Wij staan open voor

Bekijk vacature »

Front-end Ontwikkelaar - Publieke Veiligheid

Help jij onze klanten in de Digitale Transitie? Neem dan contact met mij op! Wij geloven dat organisaties meer wendbaar moeten worden én blijven. Dat maakt organisaties toekomstbestendig. Ben jij een leergierige software engineer met passie voor front-end development? Wil jij je verder ontwikkelen in de nieuwste front-end technologieën? Zoek jij uitdagende klussen in teamverband? Wij bieden jou die uitdaging en de mogelijkheden jezelf verder te ontwikkelen. We leveren een bijdrage aan het veiliger maken van Nederland en daar zijn we trots op! Heb je minimaal drie jaar ervaring in zo’n mooie rol, ben je inspirerend en dynamisch? In de

Bekijk vacature »

C# Software Ontwikkelaar Data Scientist / IoT

Voor wie je gaat werken: Wij zijn een leverancier van innovatieve hydraulische gereedschappen. Wil jij aan de slag als software engineer? Heb je ervaring met C#, SQL databases, Cloud applicaties en IoT? Vaste baan: Software Ontwikkelaar Data Scientist SQL Databases 3.000 - 4.900 Software Engineer Wij ondersteunen onze klanten wereldwijd met innovatieve hydraulische gereedschappen en hydraulische cilinders voor (technische) hulpverlening, industriële toepassingen en special tactics operaties. Uitwisseling van kennis op gebied van techniek staat bij ons voorop. Zo ontwikkel jij je razendsnel. Wij zijn een veelzijdige organisatie. Je werkt voor onze eigen IT organisatie. We werken met moderne technologie en

Bekijk vacature »

Microsoft Dynamics Software Ontwikkelaar CRM / HBO

Over het bedrijf: Wij ontwikkelen software vanuit Microsoft Dynamics. Ben jij een Software Engineer? Heb jij ervaring met Typescript / Javascript, HTML 5 en C# methoden? Vaste baan: Microsoft Dynamics Software Ontwikkelaar CRM HBO 3.000 - 4.500 Microsoft Dynamics Software Engineer Wij ontwikkelen software vanuit Microsoft Dynamics, waarbij administratieve processen bij klanten vergaand geautomatiseerd kunnen worden. Denk hierbij aan orderverwerking, offertes, calculaties, verkoop, projectbeheer en documentatie. En natuurlijk de totale integratie met het ERP systeem. Wij weten alles van Dynamics, AX, NAV, en CRM. Wij werken voor grote klanten. We doen omvangrijke projecten die we bij ons op kantoor realiseren

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

25/09/2021 08:57:42
 
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.