Hoe een website te hacken: het online hacken van websites

Inhoudsopgave:

Anonim

Meer mensen hebben toegang tot internet dan ooit tevoren. Dit heeft veel organisaties ertoe aangezet om webgebaseerde applicaties te ontwikkelen die gebruikers online kunnen gebruiken om met de organisatie te communiceren. Slecht geschreven code voor webapplicaties kan worden misbruikt om ongeautoriseerde toegang te krijgen tot gevoelige gegevens en webservers.

In deze tutorial leert u hoe u websites hackt , en laten we u kennismaken met hacktechnieken voor webtoepassingen en de tegenmaatregelen die u kunt nemen om u tegen dergelijke aanvallen te beschermen .

Onderwerpen die in deze tutorial worden behandeld

  • Wat is een webapplicatie? Wat zijn webbedreigingen?
  • Hoe beschermt u uw website tegen hacks?
  • Trucs voor het hacken van websites: Hack een website online!

Wat is een webapplicatie? Wat zijn webbedreigingen?

Een webapplicatie (ook wel website genoemd) is een applicatie gebaseerd op het client-server-model. De server zorgt voor de databasetoegang en de bedrijfslogica. Het wordt gehost op een webserver. De clienttoepassing draait op de webbrowser van de client. Webtoepassingen zijn meestal geschreven in talen zoals Java, C # en VB.Net, PHP, ColdFusion Markup Language, enz. De database-engines die in webtoepassingen worden gebruikt, omvatten MySQL, MS SQL Server, PostgreSQL, SQLite, enz.

De meeste webtoepassingen worden gehost op openbare servers die via internet toegankelijk zijn. Dit maakt ze kwetsbaar voor aanvallen vanwege de gemakkelijke bereikbaarheid. De volgende zijn algemene bedreigingen voor webtoepassingen.

  • SQL-injectie - het doel van deze bedreiging zou kunnen zijn om inlogalgoritmen te omzeilen, de gegevens te saboteren, enz.
  • Denial of Service-aanvallen - het doel van deze dreiging zou kunnen zijn om legitieme gebruikers de toegang tot de bron te ontzeggen
  • Cross Site Scripting XSS - het doel van deze dreiging zou kunnen zijn om code te injecteren die kan worden uitgevoerd op de client-side browser.
  • Cookie- / sessievergiftiging - het doel van deze dreiging is om cookies / sessiegegevens door een aanvaller te wijzigen om ongeautoriseerde toegang te krijgen.
  • Formuliermanipulatie - het doel van deze dreiging is het wijzigen van formuliergegevens, zoals prijzen in e-commercetoepassingen, zodat de aanvaller items tegen gereduceerde prijzen kan krijgen.
  • Code-injectie - het doel van deze dreiging is om code zoals PHP, Python, enz. Te injecteren die op de server kan worden uitgevoerd. De code kan achterdeurtjes installeren, gevoelige informatie onthullen, enz.
  • Defacement - het doel van deze dreiging is om de pagina die op een website wordt weergegeven te wijzigen en alle paginaverzoeken om te leiden naar een enkele pagina die het bericht van de aanvaller bevat.

Hoe beschermt u uw website tegen hacks?

Een organisatie kan het volgende beleid toepassen om zichzelf te beschermen tegen webserveraanvallen.

  • SQL-injectie - het opschonen en valideren van gebruikersparameters voordat ze voor verwerking naar de database worden verzonden, kan de kans op aanvallen via SQL-injectie helpen verkleinen. Database-engines zoals MS SQL Server, MySQL, enz. Ondersteunen parameters en voorbereide verklaringen. Ze zijn veel veiliger dan traditionele SQL-instructies
  • Denial of Service-aanvallen - firewalls kunnen worden gebruikt om verkeer van een verdacht IP-adres te laten vallen als de aanval een eenvoudige DoS is. Een juiste configuratie van netwerken en een inbraakdetectiesysteem kan ook helpen de kans op een succesvolle DoS-aanval te verkleinen.
  • Cross Site Scripting - het valideren en opschonen van headers, parameters die via de URL worden doorgegeven, formulierparameters en verborgen waarden kunnen XSS-aanvallen helpen verminderen.
  • Cookie- / sessie-vergiftiging - dit kan worden voorkomen door de inhoud van de cookies te versleutelen, de cookies na enige tijd uit te schakelen en de cookies te associëren met het IP-adres van de klant dat werd gebruikt om ze te maken.
  • Formulier temperen - dit kan worden voorkomen door de gebruikersinvoer te valideren en te verifiëren voordat deze wordt verwerkt.
  • Code-injectie - dit kan worden voorkomen door alle parameters te behandelen als gegevens in plaats van als uitvoerbare code. Sanitization and Validation kan worden gebruikt om dit te implementeren.
  • Defacement - een goed beveiligingsbeleid voor de ontwikkeling van webtoepassingen moet ervoor zorgen dat het de vaak gebruikte kwetsbaarheden afdicht om toegang te krijgen tot de webserver. Dit kan een juiste configuratie zijn van het besturingssysteem, webserversoftware en de beste beveiligingspraktijken bij het ontwikkelen van webapplicaties.

Trucs voor het hacken van websites: Hack een website online

In dit praktische scenario voor het hacken van websites gaan we de gebruikerssessie van de webapplicatie op www.techpanda.org kapen. We zullen cross-site scripting gebruiken om de cookie-sessie-ID te lezen en deze vervolgens gebruiken om zich voor te doen als een legitieme gebruikerssessie.

Er wordt vanuit gegaan dat de aanvaller toegang heeft tot de webapplicatie en dat hij de sessies van andere gebruikers die dezelfde applicatie gebruiken, wil kapen. Het doel van deze aanval zou kunnen zijn om beheerderstoegang te krijgen tot de webtoepassing, ervan uitgaande dat het toegangsaccount van de aanvaller beperkt is.

Beginnen

  • Open http://www.techpanda.org/
  • Voor oefendoeleinden wordt het sterk aanbevolen om toegang te krijgen met SQL Injection. Raadpleeg dit artikel voor meer informatie over hoe u dat doet.
  • Het e-mailadres voor inloggen is Dit e-mailadres wordt beveiligd tegen spambots. U heeft Javascript nodig om het te kunnen zien. Het wachtwoord is Password2010
  • Als u succesvol bent ingelogd, krijgt u het volgende dashboard
  • Klik op Nieuw contact toevoegen
  • Voer het volgende in als de voornaam

Donker

HIER,

De bovenstaande code maakt gebruik van JavaScript . Het voegt een hyperlink toe met een onclick-gebeurtenis . Wanneer de nietsvermoedende gebruiker op de link klikt, haalt de gebeurtenis de PHP-cookie-sessie-ID op en stuurt deze naar de snatch_sess_id.php-pagina samen met de sessie-ID in de URL

  • Voer de overige gegevens in zoals hieronder weergegeven
  • Klik op Wijzigingen opslaan
  • Uw dashboard ziet er nu uit als het volgende scherm
  • Aangezien de cross-site script-code in de database is opgeslagen, wordt deze elke keer dat de gebruikers met toegangsrechten inloggen, geladen
  • Stel dat de beheerder zich aanmeldt en op de hyperlink met Dark klikt
  • Hij / zij krijgt het venster met de sessie-ID in de URL

Opmerking : het script kan de waarde naar een externe server sturen waar de PHPSESSID is opgeslagen, waarna de gebruiker teruggeleid wordt naar de website alsof er niets is gebeurd.

Opmerking : de waarde die u krijgt, kan verschillen van die in deze zelfstudie over het hacken van webpagina's, maar het concept is hetzelfde

Sessie-nabootsing met Firefox en de add-on Tamper Data

Het onderstaande stroomschema toont de stappen die u moet nemen om deze oefening te voltooien.

  • U hebt een Firefox-webbrowser nodig voor deze sectie en de add-on Tamper Data
  • Open Firefox en installeer de add zoals weergegeven in de onderstaande diagrammen
  • Zoek naar sabotagegegevens en klik op installeren zoals hierboven weergegeven
  • Klik op Accepteren en installeren ...
  • Klik op Nu opnieuw opstarten wanneer de installatie is voltooid
  • Schakel de menubalk in Firefox in als deze niet wordt weergegeven
  • Klik op het menu Extra en selecteer vervolgens Sabotagegegevens zoals hieronder weergegeven
  • U krijgt het volgende venster. Opmerking: als Windows niet leeg is, drukt u op de wistoets
  • Klik op het menu Sabotage starten
  • Schakel terug naar de Firefox-webbrowser, typ http://www.techpanda.org/dashboard.php en druk op de enter-toets om de pagina te laden
  • U krijgt de volgende pop-up van Tamper Data
  • Het pop-upvenster heeft drie (3) opties. Met de optie Tamper kunt u de HTTP-headerinformatie wijzigen voordat deze naar de server wordt verzonden .
  • Klik erop
  • U krijgt het volgende venster
  • Kopieer de PHP-sessie-ID die u van de aanvals-URL hebt gekopieerd en plak deze na het gelijkteken. Uw waarde zou er nu als volgt uit moeten zien

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Klik op de OK-knop
  • U krijgt opnieuw het pop-upvenster Tamper-gegevens
  • Schakel het selectievakje uit waarin wordt gevraagd Doorgaan met knoeien?
  • Klik op de verzendknop als u klaar bent
  • U zou het dashboard moeten kunnen zien zoals hieronder weergegeven

Opmerking : we logden niet in, we imiteerden een inlogsessie met de PHPSESSID-waarde die we hadden opgehaald met behulp van cross-site scripting

Overzicht

  • Een webapplicatie is gebaseerd op het server-client-model. De clientzijde gebruikt de webbrowser om toegang te krijgen tot de bronnen op de server.
  • Webtoepassingen zijn meestal toegankelijk via internet. Dit maakt ze kwetsbaar voor aanvallen.
  • Bedreigingen voor webtoepassingen zijn onder meer SQL-injectie, code-injectie, XSS, defacement, cookievergiftiging, enz.
  • Een goed beveiligingsbeleid bij het ontwikkelen van webapplicaties kan helpen om ze te beveiligen.