zbeng Posted June 27, 2007 Report Posted June 27, 2007 Deobicei, pentru a gasi xss pe un site, hackerii se folosesc de: <script>alert("XSS")</scripr>Sau chiar:"><script>alert("XSS")</scripr>Dar cred ca va venit intrebarea – Dece?Cred ca stiti ca xss vulnerabilitatile apar din cauza filtrarii proaste a codului…<html><head><title>Xss Vulnerabilitate</title></head><!-- html --!><!--cel mai bine e daca folositi html--!>.....................<form action="" method=post>[b]codul Dvs:[/b]</br></br> <input type="text" name="xss"></br></br><input type="submit" value="XSSvul"></br></form>......................<!—mai departe e scriptul --!><?if(isset($xss)){....//Daca exista xss atunci vom indepliniecho '$test '; // Aici este xss deoarece filtrul e slab de tot sau in genere nu este!!!Asa ceva se face atunci cind Dvs. va inregistrati pe un site si la urma va arata loginul.Iar acum puteti sa va imaginati ce va fi<script>alert("XSS")</scripr>daca veti vedea alerta, atunci puteti face o ataca, adica sa schimbati codul in loc de <script>Acesta este un exemplu de xss pasiv..Iar acum veti vedea un exemplu de xss active!}else{Daca nu, iesimexit;}<?Deci sa vedem si un xss active!Exista forumuri, chaturi, carte de oaspeti si nu va-ti gindit daca ar fi sa puneti in loc de cuvinte de exemplu: <script>alert("XSS")</scripr>Daca filtrul e rau, atunci noi iarasi putem scoate cookies!Iata un exemplu de filtru:Acum veti vedea un exemplu de filtru scris in php si care filtreaza $path iar in locul ei, poti pune oricare altul… php<?$message = str_replace("\"","",$message);// filtreaza ghilimelele $message = str_replace("\'","",$message);// filtreaza doar o parte a ghilimelelor $message = str_replace("<","",$message); // filtram < ca sa nu poata deschide tagurile$message = str_replace(">","",$message);// filtram > ca san u poata inchide tagurile $message = str_replace("#","",$message); // Simbol tare …$message = str_replace("/","",$message);// slash$message = str_replace("script","",$message ); // cred ca singuri ati inteles dece…$message = str_replace("(","",$message); // filtreaza parantezele $message = str_replace(")","",$message); // filtreaza parantezele $message = str_replace("%","",$message); // % se foloseste in adresele url si de aceea este primejdiosCred ca acest script va va ajuta sa fiti mai aparati contra xss!?> Quote
tw8 Posted June 27, 2007 Report Posted June 27, 2007 Dragut.Schimba penultimul caracter al codului <script>alert("XSS")</scripr> Quote
andrewboy Posted June 30, 2007 Report Posted June 30, 2007 frumos tutorialul dar am si eu o intrebarea care are un pic de legatura, cum pot sa modific un caracter dintr-un string in vb??de exemplu in<<< Salut >>> "a" sal faca "b"?? Quote
lancelot Posted July 31, 2007 Report Posted July 31, 2007 ca sa filtrezi datele.. nu mai bine folosesti functii precum strip_tags() , htmlspecialchars() , mysql_real_escape_string() , etc.. ? Quote
kw3rln Posted July 31, 2007 Report Posted July 31, 2007 mie stripslashes, htmlentities, mysql_real_escape_string imi ajung nu ma complic cu str_replace Quote