Pentesting angriber og forsvarer webapplikationer med bWAPP

bWAPP er et websted, der er udviklet med sårbarheder, så både begyndere og eksperter kan udføre pentesting og etisk hacking. Det kan hostes på Linux eller Windows på Apache eller IIS og MySQL. Det understøttes i WAMP eller XAMPP. En anden mulighed er at bruge en virtuel maskine, der fungerer til VMware eller til VirtualBox.

bWAPP er gratis og åben, den kan downloades i to versioner, den ene skal bruges lokalt og den anden til at installere i en virtuel maskine. Webstedet er udviklet i PHP og MySQL, så det er tværgående. Vi downloader installere bWAPP lokalt, hvis vi vil installere i en virtuel maskine, er projektet Bee-Box.

Bee-box er en virtuel Linux-maskine med alt forudinstalleret. På denne måde skal vi kun undersøge alle bWAPP -sårbarheder uden at risikere at ødelægge bWAPP -webstedet. Også med den virtuelle maskine kan vi prøve at få root -adgang.

bWAPP har mere end 100 fejl For at undersøge og opdage dækker det alle større kendte web -sårbarheder, herunder alle sikkerhedsrisici. Projektet giver ikke kun mulighed for at opdage sårbarheder, men gør det også muligt at finde løsningen.

I denne vejledning vi installerer Bee-Box-versionen af ​​bWAPPFor at gøre dette pakker vi ud den fil, vi downloadede, og opretter en mappe med mange vmdk -filer på vores lokale server. Dernæst opretter vi den virtuelle maskine, der tildeler en 32 -bit Linux Ubuntu -version.

Dernæst skal vi vælge den downloadede fil kaldet bee-box.vdmk

Inden du starter den virtuelle maskine, skal du huske på, at vi bliver nødt til at konfigurere netværket, vi gør dette fra Indstilling for at have en IP -adresse og kunne få adgang til den virtuelle maskine fra en anden computer.

Vi klikker på Opret og derefter på Start, så den virtuelle maskine begynder at fungere, når den er indlæst, ser vi skrivebordet.

Dernæst åbner vi terminalen for at se, hvad IP'en bruger kommandoen ifconfig.

Vi kan se, at IP'en i dette tilfælde er 192.168.0.14, hvis vi tester denne IP på computeren uden for den virtuelle maskine, skal vi have adgang til internettet:

 http://192.168.0.14/bWAPP
Og resultatet bliver følgende:

Derefter kan vi starte med login -siden, som standard er brugeren bi og adgangskoden er fejl for at få adgang til kontrolpanelet. Inden for fejlmenuen har vi flere eksempler til brug og test af nogle sårbarheder fra de enkleste til de mest komplekse. Lad os se nogle sårbarheder i henhold til angrebstypen.

Det sårbarheder er opdelt i kategorier eller kapitler som er følgende:

A1 InjektionerHer grupperes sårbarhederne ved HTML -injektion, SQL, XSS, XPATH og alle dem, der har at gøre med at sende parametre gennem browsere.

A2 Pauseautentificering og sessionerHer ligner det overtræder captchas og loginformularer ved hjælp af URL -udskiftningsteknikker, parameteropsamling og brug af session -id.

A3 Cross Site Scripting (XSS)Her er XSS-relaterede sårbarheder der ikke er særlig farlige, men ret irriterende.

A4 Usikre objekter og bibliotekerHer handler det om ændre parametre i links fra kode inden du sender formularen.

A5 Sikkerhed og konfigurationHer vil vi se nogle angreb som DDOS og mellemangreb, som vil søge at påvirke tjenester som f.eks. mail og tjenester, der fungerer.

A6 Eksponering af følsomme dataHer vil vi se en række sårbarheder, der tillader serverdata afsløres i browseren.

Dette er nogle af sårbarhederne, i denne vejledning vil vi fokusere på de mest kendte angreb og muligheden for at tage kontrol over serveren.

1. HTML -indsprøjtning


HTML Reflected Injection er det, der giver dig mulighed for at indsætte HTML -kode i et tekstfelt og derefter vise det på internettet. Vi vælger den første Injection by GET -metode, vi har to tekstbokse, hvis vi f.eks. Indtaster et link i hver enkelt:
 Hastende besked | Dit salg
Når vi sender formularen, ser vi nedenfor, at begge links vises, og lader det vente på, at nogen skal klikke. Vi kan også prøve POST -metoden.

FORSTØRRE

Et andet problem med ikke at kontrollere input af HTML -data er, at vi kunne sende en formular, der får brugeren til at tro, at de skal logge ind eller indtaste nogle data og sende disse data til en anden side.

 Du er blevet afbrudt. 
Indtast dit brugernavn og din adgangskode for at fortsætte brugeren:
nøgle:

FORSTØRRE

2. SQL -indsprøjtning


Lad os se et andet angreb, såsom SQL Injection, hvis vi søger BUG efter indstillingen SQL Injection (GET / Search), kan vi i dette afsnit søge efter film, for eksempel Iron Man, hvilket resulterer i filmdata.

FORSTØRRE

Derefter kan vi prøve at injicere SQL -kode for at teste, om databasen er sårbar, til dette bruger vi følgende kode, der returnerer listen over databaser, hvis:

 iron man 'union select 1, table_name, 3,4,5,6,7 fra INFORMATION_SCHEMA.TABLES hvor table_schema = database () -'
Resultatet er listen over tabeller, derfor er databasen sårbar:

FORSTØRRE

Da vi ved, at databasen er sårbar, kan vi bruge nogle teknikker, som vi så i selvstudiet SQLMAP, SQL Injection -værktøj og Ethical database hacking, hvor vi når rodniveauet på udkig efter administratornøgler.

Fra terminalvinduet skriver vi følgende kommando, vi bruger den side, vi leder efter filmen, da den har en parameter, der kan være sårbar.

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" --dbs

Det viser os databaserne, en af ​​dem er bWAPP, derfor vil vi forsøge at få listen over tabeller vel vidende, at databasemotoren er MySQL 5. For at få listen over tabeller vil vi bruge følgende kommando.

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" -tabeller

Vi kan se, at det viser alle tabellerne, ikke kun fra internettet, men også fra systemet, så vi kan hente dataene fra Linux -administratoren. Vi kan også udnytte PHP -sessionen ved hjælp af Firebug, vi kan se sessionsnummeret, da serverens svar vil oprette en PHPSession, når du opretter en bruger eller logger på eller genererer noget dynamisk indhold, f.eks. En søgning.

FORSTØRRE

Brug kommando -brugere og sessionen eller med kommandoen uden session vil vi kunne se systembrugerne.

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" -brugere
En anden kommando med option med sessions -id:
 sqlmap -u “http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search” --cookie = ”PHPSESSID = e6f734f935bca3bf86013add7ea2e3f9; security_level = 0” --brugere

Dernæst leder vi efter systembrugerne ved hjælp af følgende kommando:

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" dba --is -dba --privilegier --dbs -dump 
Som et resultat får vi tabeller, hvor der er et kodeord, en af ​​dem er brugere, der har administratordata, og en anden er tabelhelte og brugere (brugere), som vi vil bruge til at logge på som brugere.

Brugertabellen indeholder webstedsadministratordata:

Dernæst får vi root -adgangskoden til de brugere, vi finder ovenfor, til dette bruger vi følgende kommando:

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" -f -b -current -user --is -dba --is -dba -privilegier --dbs - dump
I slutningen af ​​kommandoerne gennem et brute force -angreb finder vi ud af, at systemadministratorens adgangskode er fejl, og brugeren er root.

Vi vil prøve fra terminalen, forbinde via ssh til den virtuelle maskine for at tage fjernbetjening af computeren ved hjælp af følgende kommando:

 ssh [email protected]
Resultatet ved hjælp af rodbrugeren og fejladgangskoden er forbindelsen med administratorrettigheder til den virtuelle maskine.

Derefter tester vi, om vi kan logge ind på sektionen helte og brugere med de tidligere opnåede data, for eksempel neo -brugeren og treenighedskodeordet.

Det lykkedes os at få adgang til disse brugerdata uden problemer. Hvis vi bruger brugerens tabel, kan vi også logge ind.

3. HTML / XPATH -indsprøjtning


En af de mindst tænkte på angreb er gennem de browsere, der tillader kode redigering. Hvis vi ændrer et link til et ondsindet websted, vil brugeren ikke bemærke det, og ændringen vil gå tabt, når internettet opdateres.

For eksempel vil vi ændre adgangskode og højreklikke for at åbne en inspektør eller kodeeditor og ændre url change_password.php til http://google.com og lukke editoren

FORSTØRRE

Når brugeren klikker på dette link, bliver de således omdirigeret til en anden side, det er meget ineffektivt, da linket vender tilbage til originalen, når du opdaterer eller ændrer siden. Dette er for os at se, før vi klikker på et link, der fører os til et sikkert websted eller inden for det samme domæne.

4. Injektion på serversiden


Injektion på serversiden er, når et websted er sårbart og gør det muligt at indtaste kommandoer fra et sprog eller operativsystemet til at udføre handlinger på serveren.

En angriber sender ondsindet kode eller en kommando gennem et tekstfelt i et webprogram, der køres af webserveren. Lad os se et eksempel, der giver dig mulighed for at liste mapper ved hjælp af Linux ls -kommandoen, som vi vil skrive som følger:

 

FORSTØRRE

Resultatet bliver listen over alle bibliotekerne på serveren, så vi skal kontrollere, at der ikke kan indtastes kommandoer.

FORSTØRRE

Et af de værktøjer, som bWAPP -projektet foreslår for os, er ZAP (Zed Attack Proxy), vi så dette værktøj i selvstudiet Scan et webstedets sårbarhed med ZAP, det bruges i vid udstrækning til at scanne sårbarheder og udføre penetrationstest på websteder. Vi kan downloade den mest opdaterede version fra følgende link:

DOWNLOAD ZAP

Vælg versionen i henhold til det operativsystem, vi har, eller en multiplatform -version udviklet i Java. Når det er installeret, vil vi prøve at scanne bWAPP -nettet med ZAP og lede efter nogle sårbarheder.

FORSTØRRE

Når vi starter ZAP og udfører en scanning, vil vi se, at den registrerer de fleste sårbarheder, for at definere scanningsregler kan vi gå til menuen Analyser> Scan regler og så dobbeltklikker vi på Standardpolitik.

Lad os se på en af ​​loginsiderne, at det har fundet ud af, at brugerniveauet sendes som en parameter, i dette tilfælde administratoren.

FORSTØRRE

Vi kan også bruge filtrene, som vi så i ZAP -øvelsen til at udføre SQL -indsprøjtning og andre angreb.

Webapplikationssikkerhed er et meget vigtigt aspekt bortset fra godt design og indhold. bWAPP er en platform, der giver os mulighed for at kende og teste mange sårbarheder og derefter anvende denne viden på vores websted og også tjener, så specialister, udviklere og studerende kan opdage og forhindre web -sårbarheder.

bWAPP bruges i vid udstrækning til test af penetration af webapplikationer og etiske hackingprojekter. bWAPP dækker alle større kendte web -sårbarheder, herunder alle risici ved OWASP Top 10 -projektet, der indsamler sårbarheder fra år til år i 10 kategorier.

Endelig anbefaler vi denne artikel med en forklaring på typer cyberangreb.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave