Fler människor har tillgång till internet än någonsin tidigare. Detta har fått många organisationer att utveckla webbaserade applikationer som användare kan använda online för att interagera med organisationen. Dåligt skriven kod för webbapplikationer kan utnyttjas för att få obehörig åtkomst till känslig data och webbservrar.
I den här handledningen lär du dig hur du hackar webbplatser, och vi kommer att presentera dig för hackningstekniker för webbapplikationer och de motåtgärder du kan sätta in för att skydda mot sådana attacker .
Ämnen som behandlas i denna handledning
- Vad är en webbapplikation? Vad är webbhot?
- Hur skyddar jag din webbplats mot hack?
- Knep för hacking av webbplatser: Hacka en webbplats online!
Vad är en webbapplikation? Vad är webbhot?
En webbapplikation (aka webbplats) är en applikation baserad på klientservermodellen. Servern tillhandahåller databasåtkomst och affärslogik. Den är värd på en webbserver. Klientapplikationen körs på klientens webbläsare. Webbapplikationer skrivs vanligtvis på språk som Java, C # och VB.Net, PHP, ColdFusion Markup Language, etc. databasmotorerna som används i webbapplikationer inkluderar MySQL, MS SQL Server, PostgreSQL, SQLite, etc.
De flesta webbapplikationer finns på offentliga servrar som är tillgängliga via Internet. Detta gör dem utsatta för attacker på grund av enkel tillgänglighet. Följande är vanliga hot mot webbapplikationer.
- SQL Injection - målet med detta hot kan vara att kringgå inloggningsalgoritmer, sabotera data etc.
- Denial of Service Attacks - Målet med detta hot kan vara att neka legitima användare tillgång till resursen
- Cross Site Scripting XSS - målet med detta hot kan vara att injicera kod som kan köras på klientsidans webbläsare.
- Cookie / Session Förgiftning - Målet med detta hot är att modifiera cookies / sessionsdata av en angripare för att få obehörig åtkomst.
- Form Sabotage - Målet med detta hot är att modifiera formulärdata såsom priser i e-handelsapplikationer så att angriparen kan få varor till reducerade priser.
- Kodinjektion - Målet med detta hot är att injicera kod som PHP, Python, etc. som kan köras på servern. Koden kan installera bakdörrar, avslöja känslig information etc.
- Fördärv - målet med detta hot är att ändra sidan som har visats på en webbplats och omdirigera alla sidförfrågningar till en enda sida som innehåller angriparens meddelande.
Hur skyddar jag din webbplats mot hack?
En organisation kan anta följande policy för att skydda sig mot webbserverattacker.
- SQL-injektion - Att desinficera och validera användarparametrar innan du skickar dem till databasen för bearbetning kan bidra till att minska risken för attacker via SQL-injektion. Databasmotorer som MS SQL Server, MySQL, etc. stöder parametrar och förberedda uttalanden. De är mycket säkrare än traditionella SQL-uttalanden
- Denial of Service Attacks - brandväggar kan användas för att släppa trafik från misstänkt IP-adress om attacken är en enkel DoS. Korrekt konfiguration av nätverk och Intrusion Detection System kan också bidra till att minska risken för att en DoS-attack lyckats.
- Cross Site Scripting - validering och sanering av rubriker, parametrar som skickas via webbadressen, formulärparametrar och dolda värden kan bidra till att minska XSS-attacker.
- Förgiftning av kakor / sessioner - detta kan förhindras genom att kryptera innehållet i kakorna, tajma kakorna efter en tid, koppla kakorna till klientens IP-adress som användes för att skapa dem.
- Formhärdning - detta kan förhindras genom att verifiera och verifiera användarinmatningen innan den bearbetas.
- Kodinjektion - detta kan förhindras genom att alla parametrar behandlas som data snarare än körbar kod. Sanering och validering kan användas för att genomföra detta.
- Defacement - en bra säkerhetspolicy för webbapplikationsutveckling bör säkerställa att den förseglar de vanliga sårbarheterna för att komma åt webbservern. Detta kan vara en korrekt konfiguration av operativsystemet, webbserverprogramvaran och bästa säkerhetspraxis när du utvecklar webbapplikationer.
Knep för hacking av webbplatser: Hacka en webbplats online
I det här praktiska scenariot för hackning ska vi kapa användarsessionen för webbapplikationen på www.techpanda.org. Vi kommer att använda skriptöverskridande webbplatser för att läsa cookiesessionens ID och sedan använda det för att utge sig för en legitim användarsession.
Antagandet är att angriparen har tillgång till webbapplikationen och han vill kapa sessionerna för andra användare som använder samma applikation. Målet med denna attack kan vara att få adminåtkomst till webbapplikationen förutsatt att angriparens åtkomstkonto är begränsat.
Komma igång
- Öppna http://www.techpanda.org/
- För övningssyfte rekommenderas det starkt att få tillgång med SQL Injection. Se den här artikeln för mer information om hur du gör det.
- Inloggnings-e-postadressen är Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att kunna se det. Lösenordet är Password2010
- Om du har loggat in framgångsrikt får du följande instrumentpanel
- Klicka på Lägg till ny kontakt
- Ange följande som förnamn
HÄR,
Ovanstående kod använder JavaScript . Det lägger till en hyperlänk med en onclick-händelse . När den intet ont anande användaren klickar på länken, hämtar händelsen PHP-cookie-session-ID och skickar det till sidan snatch_sess_id.php tillsammans med session-id i URL: en
- Ange återstående detaljer som visas nedan
- Klicka på Spara ändringar
- Din instrumentpanel ser nu ut som följande skärm
- Eftersom skriptkoden för flera webbplatser lagras i databasen kommer den att laddas varje gång användarna har inloggningsbehörighet
- Låt oss anta att administratören loggar in och klickar på hyperlänken som säger Dark
- Han / hon kommer att få fönstret med sessions-id som visas i webbadressen
Obs! Skriptet kan skicka värdet till någon fjärrserver där PHPSESSID lagras och användaren omdirigeras tillbaka till webbplatsen som om ingenting hände.
Obs : värdet du får kan skilja sig från värdet i den här hemsidahackingen, men konceptet är detsamma
Sessionsimitation med tillägget Firefox och Tamper Data
Flödesschemat nedan visar stegen du måste vidta för att slutföra den här övningen.
- Du behöver Firefox-webbläsare för det här avsnittet och tillägget Tamper Data
- Öppna Firefox och installera tillägget som visas i diagrammen nedan
- Sök efter sabotagedata och klicka sedan på installera som visas ovan
- Klicka på Acceptera och installera ...
- Klicka på Starta om nu när installationen är klar
- Aktivera menyraden i Firefox om den inte visas
- Klicka på verktygsmenyn och välj sedan Tamper Data enligt nedan
- Du får följande fönster. Obs! Om Windows inte är tomt trycker du på rensningsknappen
- Klicka på Start Sabotage-menyn
- Byt tillbaka till Firefox-webbläsaren, skriv http://www.techpanda.org/dashboard.php och tryck sedan på Enter-tangenten för att ladda sidan
- Du kommer att få följande popup från Tamper Data
- Pop-up-fönstret har tre (3) alternativ. Med alternativet Tamper kan du ändra HTTP-rubrikinformation innan den skickas till servern .
- Klicka på det
- Du får följande fönster
- Kopiera PHP-sessions-ID: t som du kopierade från attack-URL: n och klistra in det efter likhetstecknet. Ditt värde ska nu se ut så här
PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2
- Klicka på OK-knappen
- Du kommer att få popup-fönstret Tamper data igen
- Avmarkera kryssrutan som frågar Fortsätt manipulera?
- Klicka på knappen Skicka när du är klar
- Du borde kunna se instrumentpanelen som visas nedan
Obs : vi loggade inte in, vi imiterade oss en inloggningssession med PHPSESSID-värdet som vi hämtade med hjälp av cross-site scripting
Sammanfattning
- En webbapplikation är baserad på server-klientmodellen. Klientsidan använder webbläsaren för att komma åt resurserna på servern.
- Webbapplikationer är vanligtvis tillgängliga via internet. Detta gör dem utsatta för attacker.
- Webbapplikationshot inkluderar SQL Injection, Code Injection, XSS, Defacement, Cookie forgiftning, etc.
- En bra säkerhetspolicy när du utvecklar webbapplikationer kan hjälpa till att göra dem säkra.