Likes Likes:  0
Resultaten 16 tot 22 van de 22
Pagina 2 van de 2 Eerste 1 2
Geen
  1. #16
    Daniel Tryba
    replace functie / SQL injection
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: replace functie / SQL injection

    John Bokma <postmaster@castleamber.com> wrote:
    >> Nee dat wil hij niet, zie het stukje pseudo code:
    >> 'if -- iets gevonden then
    >> response.write "<H1>H? sukkel, jij dacht dat slimmer was dan
    >> ik?</h1>" response.end
    >> end if

    >
    > "Hallo
    >
    > Om *SQL injection te voorkomen*, heb ik de volgende code geschreven.
    > Deze heb ik in mijn config.asp staan; een bestand die automatisch
    > wordt ingevoegd bij elke pagina. Waardes vraag ik op met
    >
    > id=killchars(request("id")
    >
    >
    > Maar nu wil ik dat een variabele "true" wordt als hij ??n van de
    > *woorden/letters heeft gevonden, zodat ik een tekst kan laten
    > weergeven.*
    >
    > Hoe doe ik dat?
    > "
    >
    > Dus de OP wil killchars een true waarde laten opleveren zodat er een
    > bericht afgedrukt wordt, dus:


    Je moet wel het _hele_ artikel lezen, inclusief code dus.

    > if (iets stouts) then "Stoute gebruiker";


    Ik lees toch echt iets anders in OP:

    $str=foo($str)
    if(var)
    ...

    Immers 'een variabele "true" wordt' is iets anders dan de
    geretourneerde waard.

    Een OO oplossing kan natuurlijk ook.


  2. #17
    John Bokma
    replace functie / SQL injection
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: replace functie / SQL injection

    Daniel Tryba wrote:

    > Tjerk Wolterink <tjerk@wolterinkwebdesign.com> wrote:
    >> Wat ik bedoel is: als je sql-injection wilt voorkomen dan moet je
    >> niet domweg gaan testen of er sql termen in een bepaalde variable
    >> voorkomen. nee (dat doet killchars toch, ben geen visual basic
    >> expert).

    >
    > Zoals ik al zie het is niet geweldig, maar nog steeds beter dan niets.


    Ik weet het niet: wat is beter: iets wat een vals gevoel geeft van "dit
    werkt", of ik zit onveilig.

    > En laat dat nu net ook in die voorbeeld functie zitten. Maarja PHP
    > addslahes/stripslashes werkt bv niet op een Sybase database (tenzij je
    > de instellingen aanpast).


    Wat ik niet snap is waarom PHP niet gewoon met prepared statements kan
    werken (ik zie dat nooit tenminste, wel stipzusenzo, en base64 encoded
    e.d.). Maar goed, ik snap wel meer niet van PHP. Bij Perl (tenzij ik het
    niet snap), kan ik met een prepared statement *willekeurige* data ergens in
    proppen zonder mij zorgen te hoeven maken. Dat heeft de maker van de driver
    al gedaan, en daar vertrouw ik op. En dan zit je ook niet met het gezeur
    dat die hack wel hier werkt, maar niet daar.

    --
    John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
    Website design: http://johnbokma.com/websitedesign/
    Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
    Tevreden opdrachtgevers: http://castleamber.com/testimonials.html



  3. #18
    John Bokma
    replace functie / SQL injection
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: replace functie / SQL injection

    Daniel Tryba wrote:

    > John Bokma <postmaster@castleamber.com> wrote:
    >>> Nee dat wil hij niet, zie het stukje pseudo code:
    >>> 'if -- iets gevonden then
    >>> response.write "<H1>H? sukkel, jij dacht dat slimmer was dan
    >>> ik?</h1>" response.end
    >>> end if

    >>
    >> "Hallo
    >>
    >> Om *SQL injection te voorkomen*, heb ik de volgende code geschreven.
    >> Deze heb ik in mijn config.asp staan; een bestand die automatisch
    >> wordt ingevoegd bij elke pagina. Waardes vraag ik op met
    >>
    >> id=killchars(request("id")
    >>
    >>
    >> Maar nu wil ik dat een variabele "true" wordt als hij ??n van de
    >> *woorden/letters heeft gevonden, zodat ik een tekst kan laten
    >> weergeven.*
    >>
    >> Hoe doe ik dat?
    >> "
    >>
    >> Dus de OP wil killchars een true waarde laten opleveren zodat er een
    >> bericht afgedrukt wordt, dus:

    >
    > Je moet wel het _hele_ artikel lezen, inclusief code dus.


    Ok, ga ik nu doen :-D

    >> if (iets stouts) then "Stoute gebruiker";

    >
    > Ik lees toch echt iets anders in OP:
    >
    > $str=foo($str)
    > if(var)
    > ...
    >
    > Immers 'een variabele "true" wordt' is iets anders dan de
    > geretourneerde waard.


    Ok, van wat ik begrijp:

    Als er in mijn string een "bad word" zit dan wil ik niet alleen het "bad
    word" wordt vervangen, maar ook een variable op true gezet wordt, zodat
    ik een berichtje af kan drukken.

    Kortom, de killchars SQL injection prevention moet niet alleen een

    s/badword/XXX/g; doen over een inputstring, nee, het moet ook nog ff "He
    Sukkel" terugsturen naar de browser.

    Ik lees daar niks over sex e.d. Wel dat de OP een mogelijke scriptkiddie
    een oorveeg wil geven.

    Niet alleen is dit extreem domme code (en met een Reader Rating van 9.2
    zou ik geen lezersbijdragen durven gebruiken van SitePoint) maar het
    vervuilt mogelijk ook nog eens de database bij hackpogingen.

    En ik heb geen idee of replace case-insensitive is en welke DB gebruikt
    wordt, maar MySQL heeft geen moeten met SeLeCT, DRoP, DeLeTE en zo
    vzviw.

    --
    John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
    Website design: http://johnbokma.com/websitedesign/
    Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
    Tevreden opdrachtgevers: http://castleamber.com/testimonials.html



  4. #19
    Michiel de Roo
    replace functie / SQL injection
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: replace functie / SQL injection

    John Bokma wrote:
    > Joep wrote:
    >
    >
    >>>>>Oh, ik ben het met 'm eens de code is ongelooflijk dom.

    >>
    >>Tja, ik vond de gedachte wel slim: alle gevaarlijke elementen
    >>uitbannen maar goed....

    >
    >
    > Dat is altijd fout, want dan moet je alle gevaarlijke elementen weten.
    > Beter: maak een lijst van wat mag. Staat het niet in de lijst, dan is het
    > een gevaarlijk element. Jij weet wat mag. Maar jij weet wellicht niet wat
    > gevaarlijk is.


    Dat is natuurlijk een mooie gedachte, en zeker te prefereren indien
    mogelijk. Maar wat ga je doen als je variable gedefinieerd is als 'een
    stuk tekst met html opmaak' ? Alle toegestane html elementen in een lijst
    zetten ? Zou nog best kunnen, maar het gevaar kan ook in je attributes
    zitten, onclick bijvoorbeeld. Die ook allemaal erin zetten ? Zelfs dan ben
    je er nog niet helemaal waarschijnlijk, een href kan ook javascript
    bevatten, maar die wil je niet helemaal uitbannen.

  5. #20
    John Bokma
    replace functie / SQL injection
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: replace functie / SQL injection

    Michiel de Roo wrote:

    > John Bokma wrote:
    >> Joep wrote:
    >>
    >>
    >>>>>>Oh, ik ben het met 'm eens de code is ongelooflijk dom.
    >>>
    >>>Tja, ik vond de gedachte wel slim: alle gevaarlijke elementen
    >>>uitbannen maar goed....

    >>
    >>
    >> Dat is altijd fout, want dan moet je alle gevaarlijke elementen
    >> weten. Beter: maak een lijst van wat mag. Staat het niet in de lijst,
    >> dan is het een gevaarlijk element. Jij weet wat mag. Maar jij weet
    >> wellicht niet wat gevaarlijk is.

    >
    > Dat is natuurlijk een mooie gedachte, en zeker te prefereren indien
    > mogelijk. Maar wat ga je doen als je variable gedefinieerd is als 'een
    > stuk tekst met html opmaak'


    Als je dat direct in een stuk HTML gaat weergeven moet je daar zeer
    zeker mee oppassen.

    > ? Alle toegestane html elementen in een
    > lijst zetten ?


    Waarom niet? Hoeveel zijn dat er denk je? Sterker, je zal zelfs moeten
    kijken of ze afgesloten zijn en zo, dus validatie. Je wil niet dat
    iemand <h1>Whoehahaha kan ingeven, en dat de h1 lekker doorwerkt in de
    rest van de pagina.

    > Zou nog best kunnen, maar het gevaar kan ook in je
    > attributes zitten, onclick bijvoorbeeld.


    Je wilt zomaar ook JavaScript gaan toestaan? Ik vraag mij af hoeveel
    mensen zo gek zijn :-D.

    > Die ook allemaal erin zetten
    > ?


    En het probleem is? Sterker, denk je niet dat er mensen zijn die al
    keurig dit voor je geschreven hebben? Ik hoop dat diverse message boards
    inderdaad deze dingen controleren.

    Ik gebruik er wel eens een, en die gebruiken bbcode. En dat is heel
    beperkt, en ik herinner mij dat je daar gewoon een class voor kan
    downloaden.

    > Zelfs dan ben je er nog niet helemaal waarschijnlijk, een href kan
    > ook javascript bevatten, maar die wil je niet helemaal uitbannen.


    Omdat? Omdat je pop up venstertjes wilt maken? Als je dat zou willen,
    wat let je om

    <popup href="..."></popup> beschikbaar te maken?

    --
    John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
    Website design: http://johnbokma.com/websitedesign/
    Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
    Tevreden opdrachtgevers: http://castleamber.com/testimonials.html



  6. #21
    Michiel de Roo
    replace functie / SQL injection
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: replace functie / SQL injection

    John Bokma wrote:
    > Michiel de Roo wrote:


    >>Zou nog best kunnen, maar het gevaar kan ook in je
    >>attributes zitten, onclick bijvoorbeeld.

    >
    > Je wilt zomaar ook JavaScript gaan toestaan? Ik vraag mij af hoeveel
    > mensen zo gek zijn :-D.


    Nee, dat wil je dus niet. Je wilt helemaal geen onClick e.d. toestaan.

    >
    >
    >>Die ook allemaal erin zetten
    >>?

    >
    >
    > En het probleem is? Sterker, denk je niet dat er mensen zijn die al
    > keurig dit voor je geschreven hebben? Ik hoop dat diverse message boards
    > inderdaad deze dingen controleren.
    >
    > Ik gebruik er wel eens een, en die gebruiken bbcode. En dat is heel
    > beperkt, en ik herinner mij dat je daar gewoon een class voor kan
    > downloaden.


    Dat is voor mij geen optie. Ik geef gebruikers bij voorkeur een grafische
    editor álá htmlarea of anders gewoon een textarea. bbcode vind ik hopeloos
    ouderwets. Ook gezien het grote aantal mensen dat wel een beetje html kent
    vind ik het handiger om gelijk (beperkt) html toe te staan.

    Overigens heeft Perl de class HTML::TagFilter, die ziet er aardig
    bedrijfszeker uit.

    >
    >
    >>Zelfs dan ben je er nog niet helemaal waarschijnlijk, een href kan
    >>ook javascript bevatten, maar die wil je niet helemaal uitbannen.

    >
    >
    > Omdat? Omdat je pop up venstertjes wilt maken? Als je dat zou willen,
    > wat let je om
    >
    > <popup href="..."></popup> beschikbaar te maken?
    >


    De href wil je niet helemaal uitbannen, de javascript/vbscript erin juist
    wél ;-) De meeste php scripts die ik zie gebruiken voor xss beveiliging
    toch het uitsluit principe, maar je kunt je inderdaad afvragen of dat de
    juiste weg is. Ik zal nog eens kijken of er wat kant en klaar is dat beter
    werkt.

    Een oplossing die beide implementeert kan natuurlijk ook nog. Als iemand
    iets probeert te submitten met overduidelijk javascript of vbscript erin
    dan kun je een nette melding geven dat dit niet mag en waarom. Voor de
    rest haal je de code door het 'toegestane tag filter'.

  7. #22
    John Bokma
    replace functie / SQL injection
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: replace functie / SQL injection

    Michiel de Roo wrote:

    > John Bokma wrote:
    >> Michiel de Roo wrote:

    >
    >>>Zou nog best kunnen, maar het gevaar kan ook in je
    >>>attributes zitten, onclick bijvoorbeeld.

    >>
    >> Je wilt zomaar ook JavaScript gaan toestaan? Ik vraag mij af hoeveel
    >> mensen zo gek zijn :-D.

    >
    > Nee, dat wil je dus niet. Je wilt helemaal geen onClick e.d. toestaan.


    Ah, gelukkig :-D

    >> Ik gebruik er wel eens een, en die gebruiken bbcode. En dat is heel
    >> beperkt, en ik herinner mij dat je daar gewoon een class voor kan
    >> downloaden.

    >
    > Dat is voor mij geen optie. Ik geef gebruikers bij voorkeur een
    > grafische editor álá htmlarea of anders gewoon een textarea.


    Bij mij hangt dat van de gebruikers af :-D.

    > bbcode
    > vind ik hopeloos ouderwets.


    Voor veel mensen is het eenvoudiger te begrijpen dan HTML (echt waar).

    > Ook gezien het grote aantal mensen dat wel
    > een beetje html kent


    Uit mijn kennissenkring zijn dat er wellicht 3.

    > vind ik het handiger om gelijk (beperkt) html toe
    > te staan.
    >
    > Overigens heeft Perl de class HTML::TagFilter, die ziet er aardig
    > bedrijfszeker uit.


    Niet naar gekeken, zal 'm onthouden, bedankt.

    >>>Zelfs dan ben je er nog niet helemaal waarschijnlijk, een href kan
    >>>ook javascript bevatten, maar die wil je niet helemaal uitbannen.

    >>
    >> Omdat? Omdat je pop up venstertjes wilt maken? Als je dat zou willen,
    >> wat let je om
    >>
    >> <popup href="..."></popup> beschikbaar te maken?
    >>

    >
    > De href wil je niet helemaal uitbannen, de javascript/vbscript erin
    > juist wél ;-)


    Ah, ok. Ik las dat je bepaalde JavaScript dingen wel wilde toestaan :-D.

    > De meeste php scripts die ik zie gebruiken voor xss
    > beveiliging toch het uitsluit principe, maar je kunt je inderdaad
    > afvragen of dat de juiste weg is. Ik zal nog eens kijken of er wat
    > kant en klaar is dat beter werkt.


    Met een href zou ik zeggen: het moet of beginnen met http:// of een
    geldige relatieve URL zijn. Wellicht dat in Perl de URI class te
    gebruiken is om dit goed af te handelen. (URL er in, evt. absoluut
    maken, controleren of die valide is, en het scheme http is).

    > Een oplossing die beide implementeert kan natuurlijk ook nog. Als
    > iemand iets probeert te submitten met overduidelijk javascript of
    > vbscript erin dan kun je een nette melding geven dat dit niet mag en
    > waarom. Voor de rest haal je de code door het 'toegestane tag filter'.


    Klinkt stukken beter. Ik weet dat het een berg werk is, maar het
    voorkomt nare verassingen van de vorm: ai, nieuwe exploit.

    --
    John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
    Website design: http://johnbokma.com/websitedesign/
    Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
    Tevreden opdrachtgevers: http://castleamber.com/testimonials.html



Pagina 2 van de 2 Eerste 1 2

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics