Re: Veiligheid gegevens doorgeven met get en post
Paul van der Vlis wrote:
> Paul van der Vlis wrote:
>
>>> Veilig is het geheel pas als jouw applicatie alle data die binnenkomt
>>> goed bekijkt.
>>
>> Waar zou ik zoal op kunnen checken?
>>
>> Als ik zou kunnen controleren of de vorige pagina (die de aanvraag doet)
>> op localhost staat, dan ben ik al een heel eind lijkt me. Maar hoe ik
>> dat zou kunnen controleren weet ik even niet..
>
> Om nog even terug te komen op mijn vraag: hoe kan een "inbreker" te
> weten komen welke hidden variabelen ik doorgeef bij post? Volgens mij
> kan hij dat niet, en is daardoor een hidden variabele al een behoorlijk
> goede beveiliging. Is dat correct?
Nee, google eens op bookmarklets, en kijk dan eens bij bookmarklets voor
forms. Daarnaast kan je met een simpel perl scriptje zo een browser
nabootsen en alles aanpassen.
Mark
Re: Veiligheid gegevens doorgeven met get en post
Paul van der Vlis wrote:
> Hoi,
>
> De methode "get" heeft als nadeel dat mensen gegevens in de URL kunnen
> gaan veranderen.
>
> Is er ook een methode om de gegevens die je doorgeeft met "post" te
> veranderen? Met andere woorden: hoe veilig is de methode "post"?
_NIKS_ veiliger dan get. Weliswaar kan je niet de url aanpassen, en is
het aanpassen wat moeilijker voor een leek, maar het is echt even simpel
aan te passen. Beveiliging dien je daarnaast serverside, en niet
clientside te doen.
Mark
Re: Veiligheid gegevens doorgeven met get en post
Paul van der Vlis wrote:
> Arend van der Boom wrote:
>> On Wed, 08 Oct 2003 17:12:40 +0200, Paul van der Vlis wrote:
>>
>> <knip>>
>>
>>>>Veilig is het geheel pas als jouw applicatie alle data die binnenkomt
>>>>goed bekijkt.
>>>
>>>Waar zou ik zoal op kunnen checken?
>>
>> Je FORM variabelen controleren op grootte
>
> Je bedoeld een maximum in de lengte?
Serverside checken, clientside maximum kan je heel simpel overriden.
>> en of er geen 'vreemde' commando's mee worden gegeven.
>
> Je bedoeld in de string gaan zoeken naar bepaalde zaken? Zo ja, welke zaken?
bijvoorbeeld, jij hebt een script dat een dirlisting kan geven. je
krijgt als invoer een directorynaam, en geeft als uitvoer de inhoud van
die directory, hiervoor gebruik je onder andere het volgende commando:
system("ls -la " + $dir);
waarbij $dir dus de variabele is die je van de form meekrijgt. Als
iemand nu bijvoorbeeld in dir het volgende zet:
/ ; rm -rf ~/
en je controleert de invoer niet, dan heb je na uitvoer een lege
homedirectory :(
Mark
Re: Veiligheid gegevens doorgeven met get en post
Paul van der Vlis wrote:
> RvB wrote:
>> On Wed, 08 Oct 2003 15:05:44 +0200, Paul van der Vlis
>> <paul@vandervlis.nl> wrote:
>
>>>Is er ook een methode om de gegevens die je doorgeeft met "post" te
>>>veranderen? Met andere woorden: hoe veilig is de methode "post"?
>
>> Mensen kunnen alles, maar wat versta jij onder veilig?
>
> Dat een derde niet aan de data kan komen, die iemand anders heeft
> ingevult. En daarbij gaat het me dan niet zozeer om de beveiliging van
> de server (dat is niet mijn verantwoordelijkheid), maar om de PHP en
> HTML pagina's waarvoor ik wel verantwoordelijk ben.
Het enige wat het veiliger maakt is dat de url's niet in proxy logs
komen. Voor zaken als wachtwoorden moet je inderdaad ook post
gebruiken. Over het algemeen worden POST requests niet gelogd (iig niet
de parameters), door de history van de browser, proxy's, referrers, etc.
Mark
Re: Veiligheid gegevens doorgeven met get en post
<knip>
>> Je FORM variabelen controleren op grootte
>
> Je bedoeld een maximum in de lengte?
>
Ja, dat een invoer veld voor een postcode b.v. niet meer dan 255 tekens
mag bevatten.
>> en of er geen 'vreemde' commando's mee worden gegeven.
>
> Je bedoeld in de string gaan zoeken naar bepaalde zaken? Zo ja, welke
> zaken?
>
Ik bedoel meer dat als je aan de hand van gebruikers invoer een shell
commando wilt laten uitvoeren 'wat iets doet' dat je die invoer dan
controleert. In PHP kan dat met de escapeshellcmd functies.
--
Arend van der Boom
#--/\---------^-^-^-^-^----- - -//-~~>
Homepage - http://home.kabelfoon.nl/~avdboom
KabArch - http://kabarch.dyndns.org
LCARS - http://lcarsscan.dyndns.org
KTZ - http://kabelzone.dyndns.org
Re: Veiligheid gegevens doorgeven met get en post
Arend van der Boom wrote:
><knip>
>>> Je FORM variabelen controleren op grootte
>>
>> Je bedoeld een maximum in de lengte?
>>
> Ja, dat een invoer veld voor een postcode b.v. niet meer dan 255 tekens
> mag bevatten.
kan je beter (server-side) checken of die aan /^[0-9]{4,} ?[A-Z]{2,}$/
voldoet...
Mark