Vulnerabilitati PHP – Cross-Site Scripting - Securitatea Informatica

Vulnerabilitati PHP – Cross-Site Scripting

Sfaturi :
Puteţi folosii o mulţime de vectori, puteţi încerca o grămadă de metode de a trece peste protecţii, îi puteţi găsii pe internet.

Exemplu de bază

Cod:.

<?php
$name=$_GET['name'];
print $name;
?>

Inputul nu este filtrat, un atacator poate injecta cod JavaScript. Exemplu:

http://127.0.0.1/test.php?name=<script>alert(”XSS”)</script>

Un popup cu mesajul XSS va fi afişat. Codul JavaScript a fost executat cu succes.

Alt exemplu

Cod:

<?php
$name=addslashes($_GET['name']);
print '<table name="'.$name.'"></table>';
?>

Nu este un exemplu avansat, doar puţin mai complicat ca rimul.

http://127.0.0.1/test.php?name=”><script>alert(String.fromCharCode(88,83,83))</script>

De ce am scris codul JavaScript aşa? Folosim ” pentru a închide ” de la atributul “name” al tagului “table” şi > pentru a închide tagul “table”. De ce String.fromCharCode? Pentru că vrem să trecem de addslashes(). Injecţia a avut loc cu succes.

Exemplu simplu

Cod:

<?php
if (isset($name)) {
//.................... etc................
} else {
die("Le fichier modules/".$name."/".$mod_file.".php est inexistant");
?>

Variabila “name” este injectabilă, inputul nu este filtrat deci putem injecta cu uşurinta codul nostru JavaScript. Exemplu:

http://127.0.0.1/test.php?name=<script>alert(”XSS”)</script>

Cum să fixezi

Metoda simplă : Folosiţi funcţiile htmlentities() sau htmlspecialchars() .
Altă metodă: Filtrează toate caracterele speciale folosite la XSS (o mulţime).

Sursa: SirGod

Twitter Digg Delicious Stumbleupon Technorati Facebook


Un raspuns la “Vulnerabilitati PHP – Cross-Site Scripting”

  1. Adica vrei sa spui ca daca folosesc un script pentru pop-up pot avea probleme?

Lasa un raspuns

This site is protected by Comment SPAM Wiper. This site is protected by WP-CopyRightPro