Flere mennesker har adgang til internettet end nogensinde før. Dette har fået mange organisationer til at udvikle webbaserede applikationer, som brugerne kan bruge online til at interagere med organisationen. Dårligt skrevet kode til webapplikationer kan udnyttes til at få uautoriseret adgang til følsomme data og webservere.
I denne vejledning lærer du at hacke websteder, og vi vil introducere dig til hackingsteknikker til webapplikationer og de modforanstaltninger, du kan indføre for at beskytte mod sådanne angreb .
Emner der er beskrevet i denne vejledning
- Hvad er en webapplikation? Hvad er webtrusler?
- Hvordan beskytter jeg dit websted mod hacks?
- Tricks til hacking af websteder: Hack et websted online!
Hvad er en webapplikation? Hvad er webtrusler?
En webapplikation (aka website) er en applikation baseret på klient-servermodellen. Serveren giver adgang til databasen og forretningslogikken. Det hostes på en webserver. Klientapplikationen kører på klientens webbrowser. Webapplikationer skrives normalt på sprog som Java, C # og VB.Net, PHP, ColdFusion Markup Language osv. De databasemotorer, der bruges i webapplikationer, inkluderer MySQL, MS SQL Server, PostgreSQL, SQLite osv.
De fleste webapplikationer hostes på offentlige servere, der er tilgængelige via Internettet. Dette gør dem sårbare over for angreb på grund af nem tilgængelighed. Følgende er almindelige webapplikationstrusler.
- SQL Injection - Målet med denne trussel kan være at omgå login-algoritmer, sabotere data osv.
- Denial of Service Attacks - Målet med denne trussel kan være at nægte legitime brugere adgang til ressourcen
- Cross Site Scripting XSS - målet med denne trussel kan være at injicere kode, der kan udføres på browseren på klientsiden.
- Cookie / sessionsforgiftning - Målet med denne trussel er at ændre cookies / sessionsdata af en angriber for at få uautoriseret adgang.
- Form Sabotage - Målet med denne trussel er at ændre formulardata såsom priser i e-handelsapplikationer, så angriberen kan få varer til nedsatte priser.
- Kodeinjektion - Målet med denne trussel er at injicere kode som PHP, Python osv., Der kan udføres på serveren. Koden kan installere bagdøre, afsløre følsomme oplysninger osv.
- Defacement - Målet med denne trussel er at ændre siden, der er blevet vist på et websted og omdirigere alle sideanmodninger til en enkelt side, der indeholder angriberens besked.
Hvordan beskytter jeg dit websted mod hacks?
En organisation kan vedtage følgende politik for at beskytte sig mod webserverangreb.
- SQL Injection - Desinficering og validering af brugerparametre, inden de sendes til databasen til behandling, kan hjælpe med at reducere chancerne for at blive angrebet via SQL Injection. Databasemotorer såsom MS SQL Server, MySQL osv. Understøtter parametre og udarbejdede udsagn. De er meget sikrere end traditionelle SQL-udsagn
- Denial of Service Attacks - firewalls kan bruges til at droppe trafik fra mistænkelig IP-adresse, hvis angrebet er en simpel DoS. Korrekt konfiguration af netværk og Intrusion Detection System kan også hjælpe med at reducere chancerne for, at et DoS-angreb var vellykket.
- Cross Site Scripting - validering og desinficering af overskrifter, parametre, der sendes via URL'en, formularparametre og skjulte værdier kan hjælpe med at reducere XSS-angreb.
- Cookie / sessionsforgiftning - dette kan forhindres ved at kryptere indholdet af cookies, tidsindstille cookies efter et stykke tid, knytte cookies til klientens IP-adresse, der blev brugt til at oprette dem.
- Formhærdning - dette kan forhindres ved at validere og verificere brugerindgangen, før den behandles.
- Kodeinjektion - dette kan forhindres ved at behandle alle parametre som data i stedet for eksekverbar kode. Sanering og validering kan bruges til at implementere dette.
- Defacement - en god sikkerhedspolitik til udvikling af webapplikationer skal sikre, at den forsegler de almindeligt anvendte sårbarheder for at få adgang til webserveren. Dette kan være en korrekt konfiguration af operativsystemet, webserver-software og bedste sikkerhedspraksis ved udvikling af webapplikationer.
Tricks til hacking af websteder: Hack et websted online
I dette praktiske scenario for hacking af hjemmesiden kaprer vi brugersessionen til webapplikationen på www.techpanda.org. Vi bruger scripting på tværs af websteder til at læse cookiesessionens id og derefter bruge det til at efterligne en legitim brugersession.
Antagelsen er, at angriberen har adgang til webapplikationen, og han vil gerne kapre sessionerne for andre brugere, der bruger den samme applikation. Målet med dette angreb kan være at få administratoradgang til webapplikationen, forudsat at angriberens adgangskonto er begrænset.
Kom godt i gang
- Åbn http://www.techpanda.org/
- Til praksis anbefales det stærkt at få adgang ved hjælp af SQL Injection. Se denne artikel for at få flere oplysninger om, hvordan du gør det.
- Login-e-mailen er Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den. Adgangskoden er Password2010
- Hvis du har logget ind med succes, får du følgende dashboard
- Klik på Tilføj ny kontakt
- Indtast følgende som fornavn
HER,
Ovenstående kode bruger JavaScript . Det tilføjer et hyperlink med en onclick-begivenhed . Når den intetanende bruger klikker på linket, henter hændelsen PHP-cookie-session-id'et og sender det til siden snatch_sess_id.php sammen med session-id'et i URL'en
- Indtast de resterende detaljer som vist nedenfor
- Klik på Gem ændringer
- Dit dashboard vil nu se ud som følgende skærmbillede
- Da scriptkoden på tværs af webstedet er gemt i databasen, indlæses den hver gang brugerne har adgangsrettighedslogin
- Lad os antage, at administratoren logger ind og klikker på det hyperlink, der siger mørk
- Han / hun får vinduet med session-id'et, der vises i URL'en
Bemærk : scriptet kan sende værdien til en ekstern server, hvor PHPSESSID er gemt, og brugeren omdirigeres tilbage til webstedet, som om der ikke skete noget.
Bemærk : den værdi, du får, kan være forskellig fra den i denne webside-hacking-tutorial, men konceptet er det samme
Session-efterligning ved hjælp af Firefox og Tamper Data add-on
Runddiagrammet nedenfor viser de trin, du skal tage for at gennemføre denne øvelse.
- Du har brug for Firefox-webbrowser til dette afsnit og Tamper Data-tilføjelse
- Åbn Firefox, og installer tilføjelsen som vist i nedenstående diagrammer
- Søg efter manipulationsdata, og klik derefter på installer som vist ovenfor
- Klik på Accepter og installer ...
- Klik på Genstart nu, når installationen er afsluttet
- Aktivér menulinjen i Firefox, hvis den ikke vises
- Klik på menuen værktøjer, og vælg derefter manipulationsdata som vist nedenfor
- Du får følgende vindue. Bemærk: Hvis Windows ikke er tomt, skal du trykke på knappen Ryd
- Klik på menuen Start sabotage
- Skift tilbage til Firefox-webbrowser, skriv http://www.techpanda.org/dashboard.php, tryk derefter på enter-tasten for at indlæse siden
- Du får følgende pop op fra Tamper Data
- Pop-up-vinduet har tre (3) muligheder. Indstillingen Tamper giver dig mulighed for at ændre HTTP-headeroplysningerne, inden de sendes til serveren .
- Klik på den
- Du får følgende vindue
- Kopier det PHP-sessions-id, du kopierede fra angrebs-URL'en, og indsæt det efter lighedstegnet. Din værdi skal nu se sådan ud
PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2
- Klik på OK-knappen
- Du får popup-vinduet med manipulationsdata igen
- Fjern markeringen i afkrydsningsfeltet, der spørger Fortsæt manipulation?
- Klik på knappen Send, når du er færdig
- Du skal være i stand til at se instrumentbrættet som vist nedenfor
Bemærk : vi loggede ikke ind, vi udgav os for en login-session ved hjælp af den PHPSESSID-værdi, vi hentede ved hjælp af cross-site scripting
Resumé
- En webapplikation er baseret på server-klientmodellen. Klientsiden bruger webbrowseren til at få adgang til ressourcerne på serveren.
- Webapplikationer er normalt tilgængelige over internettet. Dette gør dem sårbare over for angreb.
- Webapplikationstrusler inkluderer SQL Injection, Code Injection, XSS, Defacement, Cookie forgiftning osv.
- En god sikkerhedspolitik ved udvikling af webapplikationer kan hjælpe med at gøre dem sikre.