output veiligheid en ubb functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Donster

Donster

13/08/2006 17:39:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$iets
["iets"] = htmlentities($iets["iets"]);
$iets["iets"] = ubb($iets["iets"]);
echo nl2br($iets["iets"]);
?>


Ik haal een ubb functie over de data die uit de database komt , maar ik vraag me af of dit wel veilig is..

Je moet altijd zorgen dat de output veilig is , en dat doe ik ook met htmlentities ..
Echter moet de ubb functie er daarna pas overheen worden gehaald.

Vraag : = De data is dan wel 'schoon ' , maar kan een hacker iets met die data van die ubb doen ?? .. aangezien de ubb zelf geen filter gebruikt..
 
PHP hulp

PHP hulp

19/04/2024 13:51:04
 
Jelmer -

Jelmer -

13/08/2006 17:56:00
Quote Anchor link
Als de 'hacker' iets in UBB-code weet te schrijven dat vervolgens door de UBB-parser wordt omgezet naar iets wat daadwerkelijk schade kan aanrichten, ja dan wel.

Voorbeelden:

[url=#" onmouseover="alert(document.cookie);]deze link[/url]

[url=javascript:alert(document.cookie);]hoi[/url]

[img]javascript:alert(document.cookie);[/img]

[img]bestaatniet.jpg" onerror="alert(document.cookie);[/img]


Waarbij alert() dan vervangen wordt met een functie die de 'hacker' de gevangen gegevens toestuurt.
 
Donster

Donster

13/08/2006 18:05:00
Quote Anchor link
gebruik deze manier in ubb hoop dat het genoeg veiligheid bied..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sUbb_code = preg_replace("/\[b\](.*)\[\/b\]/","<b>\\1</b>",$sUbb_code);


Is er nog een veiligheids functie die ik 'extra' kan gebruiken in mijn ubb voordat ik de waarde return?
Nog een htmlspecialchars erover ofzo? ( of werkt de boel dan niet?)
 
Jelmer -

Jelmer -

14/08/2006 09:52:00
Quote Anchor link
Quote:
Nog een htmlspecialchars erover ofzo? ( of werkt de boel dan niet?)

Dan werkt de boel niet meer. Wat je wel kan doen is zowiezo controleren of bij img & url er wel een geldige URL wordt meegegeven (die dus http:// bevat) en voordat je hem in je ubb-parser stopt hem door htmlentities($string, ENT_QUOTES); halen. Daardoor zal het heel erg moeilijk worden Javascript-code mee te geven die nog werkt. Ik denk dat je daarna wel aardig veilig zit.
 



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.