Kako hakirati web stranicu: Primjer internetskog hakiranja web stranica

Sadržaj:

Anonim

Više ljudi ima pristup internetu nego ikad prije. To je potaknulo mnoge organizacije na razvoj internetskih aplikacija koje korisnici mogu koristiti na mreži za interakciju s organizacijom. Loše napisani kod za web aplikacije može se iskoristiti za neovlašteni pristup osjetljivim podacima i web poslužiteljima.

U ovom vodiču naučit ćete kako provaliti web stranice, a mi ćemo vas upoznati s tehnikama hakiranja web aplikacija i mjerama za borbu protiv kojih možete uspostaviti zaštitu od takvih napada .

Teme obrađene u ovom vodiču

  • Što je web aplikacija? Što su web prijetnje?
  • Kako zaštititi svoju web stranicu od hakovanja?
  • Trikovi za hakiranje web stranica: Hakirajte web stranicu na mreži!

Što je web aplikacija? Što su web prijetnje?

Web aplikacija (tzv. Web stranica) je aplikacija koja se temelji na modelu klijent-poslužitelj. Poslužitelj omogućuje pristup bazi podataka i poslovnu logiku. Hostiran je na web poslužitelju. Klijentska aplikacija radi na klijentskom web pregledniku. Web aplikacije su obično napisane na jezicima kao što su Java, C # i VB.Net, PHP, ColdFusion Markup Language itd. Mehanizmi baze podataka koji se koriste u web aplikacijama uključuju MySQL, MS SQL Server, PostgreSQL, SQLite itd.

Većina web aplikacija hostirana je na javnim poslužiteljima dostupnim putem Interneta. To ih čini ranjivima na napade zbog lake pristupačnosti. Slijede uobičajene prijetnje web aplikacijama.

  • SQL ubrizgavanje - cilj ove prijetnje mogao bi biti zaobilaženje algoritama za prijavu, sabotaža podataka itd.
  • Napadi uskraćivanja usluge - cilj ove prijetnje mogao bi biti uskraćivanje legitimnih korisnika pristupu resursu
  • Cross Site Scripting XSS - cilj ove prijetnje mogao bi biti ubrizgavanje koda koji se može izvršiti na pregledniku na strani klijenta.
  • Trovanje kolačićima / sesijama - cilj ove prijetnje je izmjena kolačića / podataka sesije od strane napadača kako bi se dobio neovlašteni pristup.
  • Podmetanje obrasca - cilj ove prijetnje je izmijeniti podatke o obrascima, poput cijena u aplikacijama za e-trgovinu, tako da napadač može dobiti predmete po sniženim cijenama.
  • Ubrizgavanje koda - cilj ove prijetnje je ubrizgavanje koda kao što je PHP, Python itd. Koji se mogu izvršiti na poslužitelju. Kôd može instalirati backdoor, otkriti osjetljive podatke itd.
  • Iskrivljenje - cilj ove prijetnje je izmijeniti stranicu koja je prikazana na web mjestu i preusmjeriti sve zahtjeve za stranicu na jednu stranicu koja sadrži poruku napadača.

Kako zaštititi svoju web stranicu od hakovanja?

Organizacija može usvojiti sljedeće politike kako bi se zaštitila od napada web poslužitelja.

  • SQL Injection - saniranje i provjera valjanosti korisničkih parametara prije slanja u bazu podataka na obradu može smanjiti šanse za napad putem SQL Injectiona. Mehanizmi baze podataka kao što su MS SQL Server, MySQL itd. Podržavaju parametre i pripremljene izjave. Oni su mnogo sigurniji od tradicionalnih SQL izraza
  • Napadi uskraćivanja usluge - vatrozidi se mogu koristiti za ispuštanje prometa sa sumnjive IP adrese ako je napad jednostavan DoS. Ispravna konfiguracija mreža i sustav za otkrivanje provala također mogu smanjiti šanse za uspješan DoS napad.
  • Cross Site Scripting - provjera i dezinficiranje zaglavlja, parametara proslijeđenih putem URL-a, parametara obrasca i skrivenih vrijednosti mogu pomoći u smanjenju XSS napada.
  • Trovanje kolačićima / sesijama - to se može spriječiti šifriranjem sadržaja kolačića, vremenskim ograničenjem kolačića nakon određenog vremena, povezivanjem kolačića s IP adresom klijenta koja je korištena za njihovo stvaranje.
  • Kaljenje obrasca - to se može spriječiti provjerom valjanosti i provjerom korisničkog unosa prije obrade.
  • Ubrizgavanje koda - to se može spriječiti tretiranjem svih parametara kao podataka, a ne izvršnog koda. Za ovo se mogu koristiti sanacija i provjera valjanosti.
  • Kvar - dobra sigurnosna politika razvoja web aplikacija trebala bi osigurati da zatvori najčešće korištene ranjivosti za pristup web poslužitelju. To može biti ispravna konfiguracija operativnog sustava, softvera web poslužitelja i najbolje sigurnosne prakse prilikom razvoja web aplikacija.

Trikovi za hakiranje web stranica: Hakirajte web stranicu na mreži

U ovom praktičnom scenariju za hakiranje web mjesta, otet ćemo korisničku sesiju web aplikacije koja se nalazi na www.techpanda.org. Upotrijebit ćemo skripte na više web lokacija za čitanje ID-a sesije kolačića, a zatim ga koristiti za predstavljanje legitimne korisničke sesije.

Pretpostavljena je pretpostavka da napadač ima pristup web aplikaciji i želio bi otimati sesije drugih korisnika koji koriste istu aplikaciju. Cilj ovog napada mogao bi biti stjecanje administratorskog pristupa web aplikaciji pod pretpostavkom da je pristupni račun napadača ograničen.

Početak rada

  • Otvorite http://www.techpanda.org/
  • Iz praktičnih razloga, toplo se preporuča pristup putem SQL Injection-a. Pogledajte ovaj članak za više informacija o tome kako to učiniti.
  • E -adresa za prijavu je Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta., Lozinka je Password2010
  • Ako ste se uspješno prijavili, dobit ćete sljedeću nadzornu ploču
  • Kliknite Dodaj novi kontakt
  • Unesite sljedeće kao prvo ime

Tamno

OVDJE,

Gornji kod koristi JavaScript . Dodaje hipervezu s onclick događajem . Kada nesumnjivi korisnik klikne vezu, događaj preuzima ID sesije PHP kolačića i šalje ga na stranicu snatch_sess_id.php zajedno s ID-om sesije u URL-u

  • Unesite preostale detalje kao što je prikazano u nastavku
  • Kliknite Spremi promjene
  • Vaša će nadzorna ploča sada izgledati kao sljedeći zaslon
  • Budući da je kod skripte za više web mjesta pohranjen u bazi podataka, učitavat će se svaki put kada se korisnici s pristupnim pravima prijave
  • Pretpostavimo da se administrator prijavi i klikne na hipervezu koja kaže Dark
  • Dobit će prozor s ID-om sesije koji se prikazuje u URL-u

Napomena : skripta možda šalje vrijednost na neki udaljeni poslužitelj na kojem je pohranjen PHPSESSID, a zatim je korisnik preusmjeren natrag na web mjesto kao da se ništa nije dogodilo.

Napomena : vrijednost koju dobijete može se razlikovati od one u ovom vodiču za hakiranje web stranica, ali koncept je isti

Lažno predstavljanje sesije pomoću dodataka Firefox i Tamper Data

Dijagram toka u nastavku prikazuje korake koje morate poduzeti da biste dovršili ovu vježbu.

  • Za ovaj odjeljak trebat će vam web preglednik Firefox i dodatak Tamper Data
  • Otvorite Firefox i instalirajte dodatak kao što je prikazano na donjim dijagramima
  • Potražite neovlaštene podatke, a zatim kliknite na instalaciju kao što je gore prikazano
  • Kliknite Prihvati i instaliraj ...
  • Kliknite Ponovno pokreni sada kada se instalacija dovrši
  • Omogućite traku izbornika u Firefoxu ako nije prikazana
  • Kliknite izbornik alata, a zatim odaberite Tamper Data kao što je prikazano dolje
  • Dobit ćete sljedeći prozor. Napomena: Ako Windows nije prazan, pritisnite gumb za brisanje
  • Kliknite izbornik Start Tamper
  • Vratite se na web preglednik Firefox, upišite http://www.techpanda.org/dashboard.php, a zatim pritisnite tipku enter da biste učitali stranicu
  • Dobit ćete sljedeći skočni prozor s Tamper Data
  • Skočni prozor ima tri (3) mogućnosti. Opcija Tamper omogućuje vam izmjenu podataka o HTTP zaglavlju prije nego što ih pošaljete na poslužitelj .
  • Kliknite na njega
  • Dobit ćete sljedeći prozor
  • Kopirajte ID PHP sesije koji ste kopirali s URL-a napada i zalijepite ga nakon znaka jednakosti. Vaša vrijednost sada bi trebala izgledati ovako

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Kliknite gumb U redu
  • Ponovno ćete dobiti skočni prozor Tamper data
  • Poništite potvrdni okvir s upitom Nastaviti neovlašteno?
  • Kliknite gumb za slanje kada završite
  • Morali biste vidjeti nadzornu ploču kao što je prikazano u nastavku

Napomena : nismo se prijavili, imitirali smo sesiju prijave koristeći vrijednost PHPSESSID koju smo dohvatili skriptiranjem više stranica

Sažetak

  • Web aplikacija temelji se na modelu poslužitelj-klijent. Klijentska strana koristi web preglednik za pristup resursima na poslužitelju.
  • Web aplikacijama obično se može pristupiti putem Interneta. To ih čini ranjivima na napade.
  • Prijetnje web aplikacijama uključuju SQL Injection, Code Injection, XSS, Defacement, trovanje kolačićima itd.
  • Dobra sigurnosna politika prilikom razvijanja web aplikacija može vam pomoći u njihovoj sigurnosti.