Testiranje napada i obrane web aplikacija pomoću bWAPP -a

bWAPP je web stranica koja je razvijena s ranjivostima tako da i početnici i stručnjaci mogu izvoditi pentesting i etičke hakerske prakse. Može se hostirati na Linuxu ili Windowsu na Apacheu ili IIS -u i MySQL -u. Podržano je u WAMP ili XAMPP. Druga mogućnost je korištenje virtualnog stroja koji radi za VMware ili za VirtualBox.

bWAPP je besplatan i otvoren, može se preuzeti u dvije verzije, jedna za lokalnu upotrebu, a druga za instaliranje na virtualni stroj. Web stranica je razvijena u PHP-u i MySQL-u pa je cross-platform. Instaliramo bWAPP preuzimamo lokalno, ako želimo instalirati na virtualni stroj, projekt je Bee-Box.

Bee-box je Linux virtualni stroj sa svim unaprijed instaliranim. Na ovaj način samo moramo istražiti sve ranjivosti bWAPP -a, a da pritom ne riskiramo oštećenje bWAPP web stranice. Također s virtualnim strojem možemo pokušati dobiti root pristup.

bWAPP ima više od 100 grešaka Kako bi istražio i otkrio, obuhvaća sve glavne poznate ranjivosti weba, uključujući sve sigurnosne rizike. Projekt ne samo da omogućuje otkrivanje ranjivosti, već također omogućuje pronalaženje rješenja.

U ovom vodiču instalirat ćemo Bee-Box verziju bWAPP-aDa bismo to učinili, raspakiramo datoteku koju smo preuzeli i stvaramo mapu s mnogo vmdk datoteka na našem lokalnom poslužitelju. Zatim ćemo stvoriti virtualni stroj koji dodjeljuje 32 -bitnu Linux Ubuntu verziju.

Zatim moramo odabrati preuzetu datoteku pod nazivom bee-box.vdmk

Prije pokretanja virtualnog stroja, zapamtite da ćemo morati konfigurirati mrežu, to radimo iz Postavljanje kako bi imali IP adresu i mogli pristupiti virtualnom stroju s drugog računala.

Kliknemo na create, a zatim na Start, tako da virtualni stroj počne raditi, nakon učitavanja vidjet ćemo radnu površinu.

Zatim ćemo otvoriti terminal da vidimo što IP koristi naredbom ifconfig.

Možemo vidjeti da je IP u ovom slučaju 192.168.0.14, ako testiramo taj IP na računalu izvan virtualnog stroja, trebali bismo moći pristupiti webu:

 http://192.168.0.14/bWAPP
A rezultat će biti sljedeći:

Zatim možemo početi sa stranicom za prijavu, prema zadanim postavkama korisnik je pčela, a lozinka je greška za pristup upravljačkoj ploči. Unutar izbornika Bugs imat ćemo nekoliko primjera za korištenje i testiranje nekih ranjivosti od najjednostavnijih do najsloženijih. Pogledajmo neke ranjivosti prema vrsti napada.

The ranjivosti su podijeljene u kategorije ili poglavlja koje su sljedeće:

A1 InjekcijeOvdje su grupirane ranjivosti HTML ubrizgavanje, SQL, XSS, XPATH i sve one koje se odnose na slanje parametara putem preglednika.

A2 Prekini provjeru autentičnosti i sesijeEvo kako izgleda prekršiti captchas i obrasce za prijavu koristeći tehnike zamjene URL -a, hvatanje parametara i upotrebu ID -a sesije.

A3 Skriptiranje na više web stranica (XSS)Ovdje su Ranjivosti povezane s XSS-om koji nisu jako opasni, već dosadni.

A4 Nesigurni objekti i direktorijiOvdje se radi o promijeniti parametre u vezama iz koda prije podnošenja obrasca.

A5 Sigurnost i konfiguracijaOvdje ćemo vidjeti neki napadi poput DDOS -a i srednjeg napada, koje će nastojati utjecati na usluge kao što su pošta i usluge koje rade.

A6 Izlaganje osjetljivih podatakaOvdje ćemo vidjeti niz ranjivosti koje dopuštaju podaci poslužitelja izloženi su u pregledniku.

Ovo su neke od ranjivosti, u ovom vodiču ćemo se usredotočiti na najpoznatije napade i mogućnost preuzimanja kontrole nad poslužiteljem.

1. HTML injekcija


HTML Reflected Injection omogućuje vam da umetnete HTML kôd u tekstualno polje, a zatim ga prikažete na webu. Odabiremo prvu injekciju metodom GET, imamo dva tekstualna okvira, ako u svaki unesemo, na primjer, vezu:
 Hitna poruka | Vaša prodaja
Prilikom slanja obrasca u nastavku ćemo vidjeti da su obje veze prikazane i ostaviti ga čekati da ga netko klikne. Možemo isprobati i metodu POST.

POVEĆAJTE

Drugi problem nekontroliranja unosa HTML podataka je taj što bismo mogli poslati obrazac koji uvjerava korisnika da se mora prijaviti ili unijeti neke podatke, te te podatke poslati na drugu stranicu.

 Prekinuta vam je veza. 
Unesite svoje korisničko ime i lozinku za nastavak korisnika:
ključ:

POVEĆAJTE

2. SQL injekcija


Pogledajmo još jedan napad poput SQL Injection, ako pretražimo BUG za opciju SQL Injection (GET / Search), u ovom odjeljku možemo tražiti filmove, na primjer Iron Man, što rezultira podacima o filmu.

POVEĆAJTE

Zatim možemo pokušati ubrizgati SQL kôd kako bismo provjerili je li baza podataka ranjiva, za to koristimo sljedeći kôd koji će vratiti popis baza podataka ako:

 sindikat željeznog čovjeka odaberite 1, naziv_tabele, 3,4,5,6,7 iz INFORMATION_SCHEMA.TABLES gdje je table_schema = database () -'
Rezultat je popis tablica, stoga je baza podataka ranjiva:

POVEĆAJTE

Znajući da je baza podataka ranjiva, možemo upotrijebiti neke tehnike koje smo vidjeli u vodiču SQLMAP, alat za ubrizgavanje SQL -a i hakiranje etičke baze podataka, gdje dolazimo do korijenske razine tražeći administratorske ključeve.

Iz prozora terminala ispisujemo sljedeću naredbu, koristimo stranicu koju tražimo jer film ima parametar koji može biti ranjiv.

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

Prikazuje nam baze podataka, jedna od njih je bWAPP, stoga ćemo pokušati dobiti popis tablica znajući da je motor baze podataka MySQL 5. Za dobivanje popisa tablica upotrijebit ćemo sljedeću naredbu.

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

Vidimo da popisuje sve tablice, ne samo s weba, već i iz sustava, pa podatke možemo dobiti od administratora Linuxa. Također možemo iskoristiti PHP sesiju koristeći Firebug, možemo vidjeti broj sesije, jer pri stvaranju korisnika ili prijavi ili generiranju nekog dinamičkog sadržaja, poput pretraživanja, odgovor poslužitelja stvorit će PHPSession.

POVEĆAJTE

Upotrebom naredbe --korisnici a sesiju ili naredbom bez sesije moći ćemo vidjeti korisnike sustava.

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" --korisnici
Druga naredba opcije s ID -om sesije:
 sqlmap -u “http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" --cookie = "PHPSESSID = e6f734f935bca3bf86013add7ea2e3f9; security_level = 0" --korisnici

Zatim ćemo tražiti korisnike sustava pomoću sljedeće naredbe:

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" dba --is -dba --privileges --dbs -dump 
Kao rezultat toga dobit ćemo tablice gdje postoji lozinka, jedna od njih su korisnici koji imaju administratorske podatke, a druga su heroji tablice i korisnici (korisnici) koje ćemo koristiti za prijavu kao korisnici.

Tablica korisnika sadrži podatke administratora web stranice:

Zatim ćemo dobiti root lozinku korisnika koje smo gore pronašli, za to koristimo sljedeću naredbu:

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" -f -b --current -user --is -dba --is -dba --privileges --dbs - istovariti
Na kraju naredbi kroz napad grubom silom otkrivamo da je lozinka administratora sustava greška, a korisnik root.

Pokušat ćemo s terminala, povezati se putem ssh -a s virtualnim strojem kako bismo preuzeli daljinsko upravljanje računalom pomoću sljedeće naredbe:

 ssh [email protected]
Rezultat korištenja root korisnika i lozinke greške je veza s administratorskim dopuštenjima na virtualni stroj.

Zatim testiramo možemo li se prijaviti u odjeljak heroji i korisnici s prethodno pribavljenim podacima, na primjer neo korisnik i lozinka za trojstvo.

Uspjeli smo pristupiti s ovim korisničkim podacima bez problema. Ako koristimo tablicu korisnika, možemo se i prijaviti.

3. HTML / XPATH injekcija


Jedan od najmanje razmišljanih napada je putem onih preglednika koji omogućuju uređivanje koda, ako promijenimo vezu na zlonamjernu web stranicu, korisnik to neće primijetiti, a promjena će se izgubiti kada se web osvježi.

Na primjer, promijenit ćemo lozinku i desnom tipkom miša otvoriti inspektora ili uređivač koda te promijeniti URL change_password.php u http://google.com i zatvoriti uređivač

POVEĆAJTE

Dakle, kada korisnik klikne na tu vezu, bit će preusmjeren na drugu stranicu, što je vrlo neučinkovito jer se pri osvježavanju ili promjeni stranice veza vraća na izvornik. Ovo trebamo pogledati prije nego što kliknemo vezu koja nas vodi do sigurne web stranice ili unutar iste domene.

4. Injekcija na strani poslužitelja


Injekcija na strani poslužitelja je kada je web stranica ranjiva i dopušta unos naredbi iz jezika ili operacijskog sustava za izvršavanje radnji na poslužitelju.

Napadač šalje zlonamjerni kôd ili naredbu kroz tekstualno polje web aplikacije koju pokreće web poslužitelj. Pogledajmo primjer koji će vam omogućiti popis direktorija pomoću naredbe Linux ls, koju ćemo napisati na sljedeći način:

 

POVEĆAJTE

Rezultat će biti popis svih direktorija na poslužitelju, pa moramo provjeriti da li se mogu unijeti naredbe.

POVEĆAJTE

Jedan od alata koji nam projekt bWAPP predlaže je ZAP (Zed Attack Proxy), vidjeli smo ovaj alat u vodiču Skeniraj ranjivost web stranice pomoću ZAP -a, široko se koristi za skeniranje ranjivosti i izvođenje testova penetracije na web stranicama. Najnoviju verziju možemo preuzeti sa sljedeće veze:

PREUZMI ZAP

Odaberite verziju u skladu s operativnim sustavom koji imamo ili višeplatformnu verziju razvijenu u Javi. Nakon instalacije pokušat ćemo skenirati bWAPP web sa ZAP -om i potražiti neke ranjivosti.

POVEĆAJTE

Kad pokrenemo ZAP i izvršimo skeniranje vidjet ćemo da otkriva većinu ranjivosti, da bismo definirali pravila skeniranja možemo otići na izbornik Analiza> Pravila skeniranja a zatim dvaput kliknemo na Zadane politike.

Pogledajmo na jednoj od stranica za prijavu da je otkriveno da se korisnička razina šalje kao parametar, u ovom slučaju administrator.

POVEĆAJTE

Također možemo koristiti filtre kao što smo vidjeli u ZAP vodiču za izvođenje SQL injekcija i drugih napada.

Sigurnost web aplikacija vrlo je važan aspekt osim dobrog dizajna i sadržaja. bWAPP je platforma koja će nam omogućiti da upoznamo i testiramo mnoge ranjivosti, a zatim to znanje primijenimo na našoj web stranici, a služi i tako da stručnjaci, programeri i studenti mogu otkriti i spriječiti ranjivosti na webu.

bWAPP se naširoko koristi za testiranje penetracije web aplikacija i projekte etičkog hakiranja. bWAPP pokriva sve poznate ranjivosti weba, uključujući sve rizike projekta OWASP Top 10 koji prikuplja ranjivosti iz godine u godinu u 10 kategorija.

Na kraju, preporučujemo ovaj članak s objašnjenjem vrste cyber napada.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave