SilentPH Posted May 16, 2011 Report Posted May 16, 2011 Ce este CRLF injection?Termenul crlf vine de la carriage return ( bagaj intoarcere) . acasetea sunt caractere acsii care nu se vad pe ecran sunt folosite in mod viclean de windos penmtru a indica sfarsitul unei linii. In linux, sfarsitul liniilor este indicat doar de folosirea line feed.Combinarea lui cr cu lr este folosita de exemplu atunci cand apasam enter pe tastatura. In functie de aplicatia folosita, in mod general instruim aplicatia sa inceapa o noua linie sau sa trimita o comanda.Un atac crlf apare atunci cand un hacker injecteaza comanda crlf in system.Acest tip de atac nu este o gaura a tehnologiei in sistemul de opearare sau in softul serverului, dar depinde in mare masura de felul in care este dezvoltat siteul. Unii constructori, sunt inconstienti de tipurile de atac de acest fel si lasa porti deschise atunci cand construiesc aplicatii web, permitandu-le hackerilor sa infiltreze comenzi crlf.Ce poate face un atacator daca siteul este vulnerabil.Chiar dak atacatorul gaseste un site deschis infiltratiilor crlf, el este limitat de structura aplicatiei si cat de severa e fisura in system.La unele tipuri de siteuri, aceasta fisura poate fi letala ptr. securitatea aplicatiei.in alte cazuri, acesta poate fi un mic bug, cu prioritati minime.totul depinde de felul in care fisura permite userului sa manipuleze aplicatia web.Exemplu 1 de CRLF Injection atac.Orice tip de patrundere a userului poate fi o problema de securitate dak nu validaHere is a sample basic log file:Date UserName Message25/07/2005-14:23:47 GoodSurfer I perfectly agree![/list:u]This log file is perfectly normal, however if a user had to input something like:I also agree with you..n25/07/2005-15:00:00 AnotherSurfer What are you talking about!?The log file would then look like this:Date UserName Message25/07/2005-14:23:47 GoodSurfer I perfectly agree!25/07/2005-14:42:19 BadSurfer I also agree with you..25/07/2005-15:00:00 AnotherSurfer What are you talking about!?[/list:u]In acest caz, din moment ce scurgerea nu este chiar filtrate de la cr si lf , userul a creat o intrare falsa in fisierul de logare.Exemplu 2 de CRLF Injection atacMulte protocoale de retea ( http) folosesc mult combinatii de comenzi carriage return si line feed din moment ce fiecare linie folosita in acest protocol este separata de crlf. dak un user este capabil sa defineasca un salt http nefiltrat, it poses a risk, din moment ce userul poate fi din acel moment capabil sa comunice direct cu serverul, facand legatura cu stratul aplicatiei..De exemplu, headerul unui e-mail, news, si http se bazeaza pe structura “ cheie: valoare”,Si fiecare linie este definite printr-o combinatie crlf la final.Locatia: headerul este folosit in http ptr a face redirectarea catre un alt url si un “set-cookie”:headerul este folosit ptr cookie.Daca aceste intrari nu sunt validate , caracterele cr si lf pot fi introduce in user imput (intrarea userului) , si astfel scripurile web pot fi prostite sa faca alte lucruri decat cele pentru care au fost create.Daca intrarea nu este scanata de cr si lf si scripul contruieste o redirectare cu stringul:.If the input is not checked for CR and LF and the script constructs a redirect with the string:Location: $url%0d%0aNoi putem redirecta spre un site in timp ce setam un cookie , setand $url (ca un singur string) catre:http://www.i-was-redirected.com/%0d%0aSet-Cookie: Authenticated=yes%0d%0aReferer: www.somesite.comDaca un atacator poate salva url-ul spre care este redirectat un alt user, inclusive cookie-urile,cu date importante, acest lucru poate deveni serios.Cum scanam dupa CRLF InjectionCel mai bun mod de a scana siteul de vurnelabilitati este sa folosesti un web vulnerability scanner.Acesta verifica vulnerabilitati CRLF si va vor da totul ptr. a le putea fixa.Prevenirea atacurilor CRLF.Cel mai bun mod de a te apara impotriva crlf-ului este sa filtrezi in mod extins orice intrare pe care oi poate face un user.Unul sa “stearga totul mai putin informatiile bune” si sa filtreze meta caracterele primate prin intrarile userului.Aceasta va asigura ca doar ceea ce e util va intra pe campul site-ului si si va fi trimis catre server.Nu am tradus acolo unde pricepea toata lumea... imi pare rau daca nu e pe intelesul tuturor.Tutorialul nu este facut de mine . Eu doar il aveam prin pc . Quote
ZeroCold Posted May 17, 2011 Report Posted May 17, 2011 (edited) Felicitari pentru traducere.Trebuia sa pui si sursa.// a mai fost postat de vreo 2 ori. Edited May 17, 2011 by ZeroCold Quote