Webbläsare är en av de mest använda teknologierna i vårt dagliga liv. De fungerar som en bro mellan användaren och internet, vilket gör att vi kan komma åt och interagera med webbsidor. För att förstå hur webbläsare fungerar, måste vi titta på deras arkitektur och de olika komponenterna som samverkar för att skapa en användarvänlig upplevelse.
En webbläsare består av flera viktiga delar som tillsammans gör det möjligt att surfa på internet och interagera med webbinnehåll. Först och främst har vi användargränssnittet, vilket är den del av webbläsaren som vi interagerar med direkt. Det omfattar alla knappar, menyer och verktygsfält som gör det möjligt för användaren att komma åt de grundläggande funktionerna. Genom detta gränssnitt kan vi navigera, söka, öppna nya flikar och interagera med webbsidor på olika sätt.
En annan central komponent är webbläsarens motor. Denna motor är en kombination av två viktiga enheter: layoutmotorn och renderingsmotorn. Layoutmotorn ansvarar för att skapa strukturen för webbsidan, medan renderingsmotorn hanterar visningen av innehållet genom att bearbeta HTML, XML, bilder och andra resurser. Renderingsmotorer som Gecko, WebKit och Trident är de mest kända. Firefox använder Gecko, Safari WebKit, och Internet Explorer använder Trident. WebKit, som även används av Chrome och Opera genom sin Blink-version, är den mest populära. Varje renderingsmotor har sina egna algoritmer och sätt att tolka webbsidor, vilket ibland gör att vissa webbplatser fungerar bättre på en viss webbläsare än på en annan.
Nätverkskomponenten är en annan kritisk del av webbläsarens funktion. Utan nätverksanslutning kan ingen annan aktivitet äga rum. Nätverkskomponenten kan beskrivas som en "socket manager" som hanterar all datahämtning från internet. Denna del består av olika API:er (Application Programming Interfaces), optimeringskriterier och tjänster som gör det möjligt att hämta och visa resurser från webben.
En webbläsare har också en viktig funktion som hanterar datapersistens. Detta innebär att webbläsaren lagrar information som användaren vill behålla, till exempel bokmärken, cookies och cachefiler. Cookies används ofta för att lagra användarens surfvanor, och de kan användas av marknadsföringssidor för att visa riktade annonser. Ett vanligt exempel på detta är att en användare kanske besöker en e-handelswebbplats för att titta på hörlurar, men aldrig köper något. Efter detta kommer annonser för dessa hörlurar att visas på andra webbplatser, vilket är resultatet av att cookies har lagrat den informationen.
En annan viktig aspekt är felhantering. Webbläsare har inbyggd felhantering för att korrigera vanliga felaktigheter i webbkod, vilket gör att vi inte ser syntaxfel när vi surfar på webben. Även om webbläsare kan fixa dessa fel på olika sätt, innebär detta att användaren ofta inte märker av de problem som finns i webbsidornas kod.
För att göra webbläsarupplevelsen ännu mer användarvänlig, har moderna webbläsare funktioner som "privat surfning". Denna funktion tillåter användaren att surfa utan att webbläsaren sparar några detaljer om den specifika surfsessionen, såsom besökta sidor, formulärfyllning eller cookies. Det här är användbart vid online-transaktioner eller vid användning av offentliga enheter. Men privat surfning skyddar inte användaren från övervakning av internetleverantörer, nätverksadministratörer eller webbplatsadministratörer.
En annan funktion som webbläsare erbjuder är automatisk ifyllning, där webbläsaren sparar formulärdata och lösenord för att underlätta nästa gång du besöker en webbplats. Denna funktion är inte bara bekväm utan hjälper också till att spara tid. Dock finns det vissa risker, eftersom information kan lagras på ett oskyddat sätt. Vissa webbplatser kan till och med använda säkerhetsattribut för att förhindra att webbläsaren sparar viss information, men i dagens webbläsare ignoreras detta ofta.
Proxy-inställningar är också en användbar funktion för många användare. De tillåter webbläsaren att skicka förfrågningar via en mellanliggande server, vilket kan användas för att anonymisera webbsurfing eller för att kringgå georestriktioner. Företag använder ofta proxyservrar för att skydda sitt nätverk, och penetrationstester använder proxies för att fånga upp webbläsarens förfrågningar och svar.
Moderna webbläsare är mer än bara verktyg för att visa webbsidor; de är kraftfulla plattformar som erbjuder ett brett spektrum av funktioner för att förbättra användarens upplevelse. Förutom de grundläggande funktionerna som att surfa på webben eller öppna lokala filer, erbjuder webbläsare också säkerhets- och sekretessfunktioner, vilket gör dem till viktiga verktyg för att hantera vår digitala närvaro.
Det är också viktigt att förstå de tekniska och säkerhetsmässiga aspekterna av webbläsarens funktioner. Med tanke på hur mycket av vår personliga information och vårt surfande samlas in och lagras, bör vi vara medvetna om hur dessa system fungerar och vara försiktiga med hur vi interagerar med webben. Att förstå webbläsarens arbetsprinciper hjälper oss att använda dessa verktyg på ett mer medvetet och säkert sätt, samtidigt som vi kan dra fördel av de många funktioner som gör vår surfupplevelse mer effektiv och skräddarsydd.
Hur fungerar Internet och WWW? Grundläggande begrepp och teknologier
I alla former av kommunikation måste det finnas ändpunkter, medier och regler. Detta gäller också för Internet, där dessa koncept också är centrala. Ändpunkterna är de enheter som används av användare för att ansluta till nätverket, såsom datorer, bärbara datorer, surfplattor eller smartphones. Medier eller noder representerar de servrar och routrar som är anslutna till varandra, medan protokoll är uppsättningar av regler som maskiner följer för att utföra uppgifter, såsom Transmission Control Protocol (TCP) och Internet Protocol (IP). Olika sätt att överföra data på nätverket inkluderar telefonkablar, optisk fiber och radiovågor.
Webben, eller World Wide Web (WWW), är en delmängd av Internet. Den består av alla offentliga webbplatser som är kopplade till nätverket, inklusive de enheter som används för att komma åt dessa webbplatser. WWW är strukturerad genom en mängd sammanlänkade dokument som presenteras som webbsidor. Dessa webbsidor kan innehålla olika typer av media, såsom text, bilder och videor, och nås genom en klientapplikation, vanligtvis en webbläsare. Det är en enorm samling av sådana sammanlänkade sidor, och även om Internet och WWW ofta betraktas som synonymer, är det viktigt att förstå att WWW bara är en del av Internet.
Internet är det övergripande nätverket som möjliggör all kommunikation och alla tjänster som vi använder online, medan WWW är den del som gör dessa tjänster tillgängliga för oss genom webbsidor. Information på webben länkas genom unika webbadresser, kända som URL:er, och når oss via webbläsare som följer HyperText Transfer Protocol (HTTP), eller numera vanligtvis HTTPS för ökad säkerhet. HTTP är bara ett av de många protokoll som används på Internet, andra inkluderar File Transfer Protocol (FTP) och Simple Mail Transfer Protocol (SMTP), som båda kommer att diskuteras mer ingående senare.
För att förstå hur kommunikationen på Internet fungerar, är det nödvändigt att känna till några grundläggande tekniska termer och begrepp som kommer att användas genom hela denna bok.
En av de mest grundläggande termerna är IP-adressen. För de flesta användare är IP-adressen helt enkelt en identifierare för en enhet på ett nätverk, även om de bakomliggande tekniska detaljerna ofta är oklara. I grunden är IP-adressen ett virtuellt nummer som unikt identifierar en enhet på ett nätverk. Denna adress kan vara dynamisk och förändras beroende på nätverkskonfigurationer. Två huvudtyper av IP-adresser är privata och offentliga. En privat IP-adress används för att identifiera en enhet inom ett lokalt nätverk, som till exempel datorerna på ett kontor, medan en offentlig IP-adress används för att identifiera en enhet på Internet, vilket tillhandahålls av Internetleverantören (ISP). Den privata IP-adressen kan ligga inom vissa specifika intervall, medan den offentliga IP-adressen är en unik identifierare på global nivå.
Vid sidan av IP-adresser används också portnummer för att specificera kommunikationspunkter på nätverket. En port fungerar som en kanal för att skicka och ta emot data till och från specifika tjänster på en server. Till exempel är portnummer 80 ofta associerat med HTTP-protokollet och används för att hämta webbsidor. Portnummer är vanligtvis inom intervallet 0 till 65535 och är ofta specifika för den tjänst eller applikation som de är kopplade till.
Protokoll är också en viktig aspekt för att förstå hur Internet och dess tjänster fungerar. Ett protokoll är en uppsättning regler som styr hur data ska överföras och mottas mellan enheter på nätverket. Till exempel reglerar FTP (File Transfer Protocol) filöverföring mellan system, medan SMTP (Simple Mail Transfer Protocol) hanterar e-postkommunikation. HTTP och HTTPS är protokoll som gör det möjligt för webbläsare att begära och visa webbsidor på våra enheter. Protokollen är fundamentala för nätverkskommunikation och säkerställer att information överförs korrekt.
En annan viktig aspekt av nätverkskommunikation är MAC-adressen, eller Media Access Control-adressen, som fungerar som en unik identifierare för nätverksgränssnittet på en enhet. MAC-adressen är en fysisk adress som tilldelas varje nätverksenhet av tillverkaren och representeras i ett hexadecimalt format. Den används för att identifiera och adressera enheter på ett nätverk, särskilt i lokala nätverk (LAN).
E-post (elektronisk post) är en annan central teknik som bygger på dessa nätverksprinciper. Den används för att skicka och ta emot meddelanden över Internet och följer en specifik adressstruktur, där användarnamnet föregår symbolen @ och domännamnet följer efter. E-postsystem använder också specifika protokoll, som SMTP för att skicka meddelanden och POP3 eller IMAP för att ta emot och läsa meddelanden.
Slutligen finns det även ett system som kallas DNS (Domain Name System), vilket fungerar som en översättare mellan domännamn och IP-adresser. DNS gör det möjligt för oss att använda läsbara domännamn som exempelvis "google.com" istället för att behöva komma ihåg de numeriska IP-adresserna som faktiskt identifierar dessa webbplatser på nätverket. DNS-systemet är avgörande för att Internet ska fungera smidigt och för att användarna ska kunna komma åt resurser på nätet utan att behöva känna till de tekniska detaljerna bakom.
Det är också viktigt att förstå den skillnad som finns mellan IPv4 och den nyare versionen, IPv6. IPv4 är den mest använda versionen av IP-adresser idag, men eftersom antalet tillgängliga adresser för IPv4 är begränsat, håller världen på att övergå till IPv6, vilket erbjuder ett nästan obegränsat antal adresser. Denna övergång är viktig för att säkerställa att alla enheter som ansluter till nätverket kan få en unik identifierare.
Hur man skapar egna transformeringar i Maltego med Python
Att skapa och konfigurera egna transformeringar i Maltego är en kraftfull metod för att utöka funktionaliteten i detta kraftfulla verktyg för informationsinsamling. Genom att använda Python och webbtjänster kan vi snabbt bygga egna verktyg som automatiserar och effektiviserar datainsamling från externa källor. Här går vi igenom stegen för att skapa en enkel transformering, från att skriva själva koden till att konfigurera den i Maltego.
Först, börja med att skapa själva transformeringen. Antag att vi vill använda tjänsten "Have I Been Pwned" för att kontrollera om en e-postadress har blivit utsatt för en dataläcka. Vi skriver följande Python-script som gör en förfrågan till API:et och hämtar resultaten.
När vi kör detta program via terminalen, skickar vi med en e-postadress som argument, till exempel ./emailhibp.py [email protected]. Resultatet av körningen kommer att visa en XML-output som listar de dataintrång där e-postadressen förekommer, t.ex. "Pwned at [“Adobe”, “Gawker”, “Stratfor”]". Detta innebär att koden fungerar korrekt och vi kan nu använda den som en transformering i Maltego.
Nästa steg är att konfigurera denna transformering i Maltego. För att göra detta, öppna Maltego och gå till fliken "Manage". Klicka på knappen "Local Transform" för att starta guiden för att konfigurera en lokal transformering. I guiden anger vi namn och beskrivning för transformeringen. Här kan vi också ange vilken typ av entitet denna transformering tar emot, i vårt fall en e-postadress.
Efter att ha specificerat inställningarna för vår transformering, går vi vidare till att ange kommandot som ska köras för att exekvera vårt Python-script. Detta innebär att vi måste ange sökvägen till Python-programmet och scriptet. För Linux kan detta vara /usr/bin/python, och för Windows något som C:\Python27\python.exe. I fältet "Parameters" anger vi den fullständiga sökvägen till vårt script, t.ex. /root/Desktop/transforms/emailhibp.py.
När alla inställningar är ifyllda kan vi avsluta guiden och vår transformering är nu konfigurerad och klar att användas. För att testa den, högerklicka på en e-postadress i Maltego och välj transformeringen från snabbmenyn. Om allt fungerar som det ska, kommer Maltego att visa resultaten av vår transformering, dvs. de webbsidor där e-postadressen har läckt ut.
För att ytterligare utöka våra möjligheter att skapa egna transformeringar kan vi bygga på detta exempel. Låt oss säga att vi vill skapa en transformering för att göra en omvänd IP-domänsökning, där vi använder en annan webbtjänst som http://www.my-ip-neighbors.com/. Här kommer vi att använda ett liknande tillvägagångssätt som tidigare, men i stället för ett API kommer vi att skicka en GET-förfrågan och sedan använda reguljära uttryck (regex) för att extrahera domäner från webbsidan.
Detta script skickar en förfrågan till webbtjänsten och använder regex för att extrahera domänerna som delar samma IP-adress. Dessa domäner läggs sedan till som entiteter i Maltego. För att förbättra regex kan man använda webbsidan txt2re.com för att skapa och testa reguljära uttryck.
För mer avancerade användningsområden kan vi kombinera och utöka dessa transformeringar med ytterligare funktioner, såsom att använda lokala verktyg som Nmap för att göra nätverksundersökningar eller implementera multiprocessing för att snabbare bearbeta flera entiteter samtidigt. Det är viktigt att förstå att även om vi har skapat enkla transformeringar här, finns det en enorm potential för att bygga mer komplexa och funktionella verktyg, särskilt när vi kombinerar Python med externa API:er och tjänster.
För att snabbt komma igång med Python och Maltego, finns det flera användbara resurser tillgängliga, till exempel Python Pentesting Tools och Python Docs. Genom att utveckla egna transformeringar och bidra till open source-projekt som recon-ng, kan man skapa ett kraftfullt verktyg för informationsinsamling och cybersäkerhet.
Att förstå hur man skapar och konfigurerar egna transformeringar i Maltego är ett viktigt steg för att bygga skräddarsydda lösningar för informationsinsamling. Denna grundläggande metod för att integrera Python-skript i Maltego ger en stor flexibilitet och möjlighet att skräddarsy verktyget för olika typer av undersökningar. När man har bemästrat de grundläggande teknikerna för att skapa transformeringar, öppnar sig en värld av möjligheter för att skapa mer avancerade och effektiva lösningar.

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский