Hey,
Hoe kun je ook alweer de beveiligings lek tegen gaan van noscript?
- <noscript> beveiliging tegen gaan
-
06-01-2010, 16:10 #1Particulier
- Berichten
- 394
- Lid sinds
- 14 Jaar
<noscript> beveiliging tegen gaan
-
06-01-2010, 16:14 #2
- Berichten
- 549
- Lid sinds
- 15 Jaar
Ik snap niet echt wat je bedoeld, bedoel je hoe je ervoor zorgt dat <noscript> niet uitgevoerd word of dat juist <noscript> wel uitgevoerd word?
-
06-01-2010, 16:15 #3Particulier
- Berichten
- 394
- Lid sinds
- 14 Jaar
Wat denk je zelf? dat het niet uitgevoerd word ;)
-
06-01-2010, 16:17 #4
- Berichten
- 549
- Lid sinds
- 15 Jaar
Oke, dat kun je doen met de functie htmlentities($bestand) of als je qoutes ook wilt vervangen htmlentities($bestand, ENT_QOUTES)
-
06-01-2010, 16:19 #5Particulier
- Berichten
- 394
- Lid sinds
- 14 Jaar
Maar dat heb ik al.., en dat vind ik juist het rare :s
-
06-01-2010, 16:55 #6
- Berichten
- 549
- Lid sinds
- 15 Jaar
Dus gebruikers kunnen gewoon <noscript> op je website zetten en dan krijg je de broncode te zien?
-
06-01-2010, 16:57 #7
- Berichten
- 464
- Lid sinds
- 17 Jaar
Je bedoelt dat je bijvoorbeeld ook javascripts kunt gebruiken of terwijl XSS lekken?
Probeer eens :
PHP Code:
$text = stripslashes($text);
$text = htmlentities($text, ENT_QUOTES);
-
06-01-2010, 17:04 #8Particulier
- Berichten
- 756
- Lid sinds
- 15 Jaar
Indien je bedoelt dat je huidige beveiliging met javascript wordt geregeld, en mensen dit kunnen uitschakelen waardoor <noscript> wordt gebruikt:
- Dit is onmogelijk met client-side scripting, javascript is "schijnveiligheid" en altijd uit te zetten in de browser.
Indien je xss bedoelt, zie bovenstaande reacties.
-
06-01-2010, 21:04 #9Particulier
- Berichten
- 394
- Lid sinds
- 14 Jaar
-
06-01-2010, 21:07 #10
- Berichten
- 533
- Lid sinds
- 15 Jaar
Waardoor krijgen bezoekers noscript op je pagina? Heb je bijv. een gastenboek of berichtenbalk, die niet beveiligd is?
-
07-01-2010, 07:03 #11Particulier
- Berichten
- 394
- Lid sinds
- 14 Jaar
Het is een gastenboek, en die is wel beveiligd. Maar niet goed zo te zien.
Ik zal even mij code laten zien:
De berichten laten zien:
PHP Code:<?php
while($row = mysql_fetch_object($result))
{
$naam = $row->naam;
$bericht = nl2br(stripslashes(html_entity_decode($row->bericht, ENT_QUOTES)));
$datum = $row->datum_bericht;
?>
<table cellspacing="0" cellpadding="4" width="500" style="border: 1px solid #CCCCCC;" class="normaal">
<tr>
<td style="width: 250px; border-bottom: 1px solid #CCCCCC;"><?= $naam ?></td>
<td style="width: 250px; border-left: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; text-align:right;"><?= $datum ?></td>
</tr>
<tr>
<td colspan="2">
<?= smilies($bericht) ?>
</td>
</tr>
</table>
<br />
<?php
}
?>
PHP Code:<?php
mysql_query("INSERT INTO gastenboek (naam, email, bericht, ip, datum) VALUES ('" . mysql_real_escape_string(htmlspecialchars($post["naam"], ENT_QUOTES)) . "', '" . mysql_real_escape_string(htmlspecialchars($post["email"], ENT_QUOTES)) . "', '" . mysql_real_escape_string(htmlentities($post["bericht"], ENT_QUOTES)) . "', '" . $_SERVER["REMOTE_ADDR"] . "', NOW())") or die(mysql_error());
header("Location: http://www.krekhoewezen.nl/gastenboek.php");
?>
-
07-01-2010, 08:01 #12
- Berichten
- 1.273
- Lid sinds
- 15 Jaar
@Luuk, je fout is zeer logisch
Bij het plaatsen van je bericht voeg je htmlspecialchars toe, waardoor < en > veranderen in < en > hierdoor zou een <noscript> onmogelijk zijn (output zou dan immers <noscript> zijn). Vervolgens gooi jij er een html_entity_decode overheen, deze functie zet die > en < weer om in een < en > waardoor de output dus gewoon <nocript> is.
Oplossing:
Verwijder de html_entity_decode functie.
-
07-01-2010, 12:56 #13
- Berichten
- 1.470
- Lid sinds
- 18 Jaar
htmlspecialchars()
-
07-01-2010, 14:12 #14Particulier
- Berichten
- 394
- Lid sinds
- 14 Jaar
Maar als ik html_entity_decode weg doe, dan komen er allemaal rare tekens..
-
07-01-2010, 14:58 #15
- Berichten
- 1.273
- Lid sinds
- 15 Jaar
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic