Code Monkey home page Code Monkey logo

Comments (5)

fsamwel avatar fsamwel commented on June 27, 2024

Ik neem deze over. @strijm ik heb wel een punt aan het einde van de reason gezet (consistentie met andere meldingen).

Kan er in de melding welke karakter(s) niet zijn toegestaan? Anders is het voor de gebruiker onduidelijk wat er precies niet correct is.

"Parameter bevat niet toegestane karakters. De volgende karakters zijn niet toegestaan: {notAllowedCharactersList}."

Bijvoorbeeld: "Parameter bevat niet toegestane karakters. De volgende karakters zijn niet toegestaan: " < > % { } | \ ^ `."

Alternatief is om in de melding al aan te geven dat het om onveilige karakters gaat (ik neem aan dat een developer dan wel weet om welke karakters het gaat).
| validatie | voorbeeld reason | code |
| injectie, XXS, XSRF | Parameter bevat niet toegestane karakters die onveilig kunnen zijn. | unsaveChars |

from haal-centraal-common.

fsamwel avatar fsamwel commented on June 27, 2024

@MelvLee @JohanBoer Wat vinden jullie de beste melding?

Of kunnen we beter een pattern toevoegen aan alle parameters om de onveilige karakters uit te sluiten?

from haal-centraal-common.

MelvLee avatar MelvLee commented on June 27, 2024

ik vraag me af of het mogelijk is om op een generieke manier aan te geven er karakters unsafe zijn. De % teken wordt gebruikt om karakters te escapen. Als je zou willen zoeken op bijv. 'laan van meerdervoort' dan zou dat niet lukken omdat je dan 'laan%20van%20meerdervoort' als query krijgt. Je zou dan de '+' moeten gebruiken om de spatie te escapen.
Als ik in Google op de volgende tekst zoek 'dit % > is | een test', dan zie ik het volgende als query parameter: 'dit+%25+>+is+|+een+test'.
En als ik het volgende meegeef als input aan een zoek parameter 'schoolstraat;drop table adres;' of 'jansen or 1=1', dan is de kans groter dat ik sql heb geinject terwijl er geen unsafe karakters in staan

from haal-centraal-common.

JohanBoer avatar JohanBoer commented on June 27, 2024

De conclusie van Melvin's opmerking is volgens mij dat je het met een pattern niet helemaal waterdicht krijgt en dat je sommige karakter (%) gewoon nodig hebt. Neemt niet weg dat een pattern toevoegen in ieder geval de niet-gewenste unsafe karakters uitsluit de boel iets minder onveilig maakt, of zie ik dat verkeerd ?

Dan is er nog steeds additionele validatie nodig die dan weer om een eigen foutmelding vraagt. Is dat dan gewenst ?

Ergo, met het toevoegen van een pattern kan je misschien een paar unsafe karakters uitsluiten en daar een inhoudelijke melding op geven, maar de melding zoals Mark die voorstelt blijft ook nodig. @strijm Je kan in de reason toch ook de karakters retourneren die de fout hebben veroorzaakt ? Of is dat not done ?

from haal-centraal-common.

strijm avatar strijm commented on June 27, 2024

Bij voorkeur geef je zo min mogelijk informatie die een kwaadwillende op het spoor kan zetten van evt. vulnerabilities. Dus noemen dat een parameter een XSS, XSRF of SQL injectie validatie niet heeft doorstaan, lijkt me idd. not done, evenals het benoemen welke karakters niet zijn toegestaan. In dit geval zo neutraal mogelijk aangeven dat bepaalde karakters niet zijn toegestaan. Ik ben ook van mening dat het controleren met een pattern sommige maar niet alle foutsituaties zal oplossen. Aan het voorbeeld van Google in het bericht van Melvin is te zien dat security encoding is toegepast, m.i. is dat de beste methode.

from haal-centraal-common.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.