Webb- och kryptoutmaningar
Lös vanliga webb- och kryptopussel.
Webb- och kryptoutmaningar är en gratis lektion i Cyber Security Academy på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Cyber Security Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.
Två grundpelare: Web och Crypto
Web och Crypto är de två vanligaste ingångarna till CTF.
- Web-utmaningar ger er en körande webbapplikation och ber er hitta en brist i hur den hanterar indata, autentisering eller tillit.
- Crypto-utmaningar ger er chiffertext, ett kryptosystem och ibland källkod, och ber er ta fram klartext eller en nyckel genom att utnyttja en brist i hur kryptografin användes.
Båda belönar metodisk observation. Den här lektionen tar upp de återkommande problemen i varje kategori.
Första steget när ni granskar ett webb mål
Innan ni utnyttjar något ska ni kartlägga applikationen. Visa källkoden, granska svar och undersök dolt innehåll.
# Inspect raw response headers and body
curl -i http://target/
# Look for hidden paths the UI does not link to
gobuster dir -u http://target/ -w wordlist.txt
# Common files worth checking by hand
# /robots.txt /.git/ /backup.zip /adminSQL-injektion
SQL-injektion inträffar när användarinmatning sammanfogas med en databasfråga utan åtskillnad mellan kod och data.
En inloggning som bygger en fråga som SELECT * FROM users WHERE name='INPUT' kan kringgås med indata som avslutar strängen och ändrar logiken:
# A classic auth-bypass payload supplied as the username
' OR '1'='1' --
# UNION-based extraction once the column count is known
' UNION SELECT username, password FROM users -- Den verkliga lösningen på injektion
CTF lär er att bryta injektioner så att ni kan försvara mot dem. Det korrekta försvaret är parameteriserade frågor (prepared statements), som håller användardata helt utanför frågans struktur.
# Vulnerable: input becomes part of the SQL text
query = "SELECT * FROM users WHERE name='" + name + "'"
# Safe: input is bound as a parameter, never parsed as SQL
cursor.execute("SELECT * FROM users WHERE name = ?", (name,))Cross-Site Scripting (XSS)
XSS inträffar när en app återspeglar eller lagrar angriparkontrollerad indata och en webbläsare kör den som skript. I CTF innebär en XSS-utmaning ofta en bot som besöker er payload medan den har flaggan i en cookie.
- Reflekterad — payloaden i begäran återges direkt.
- Lagrat — payloaden sparas och körs för senare besökare.
- DOM-baserad — JavaScript på klientsidan skriver indata till sidan på ett osäkert sätt.
Försvaret är kontextmedveten outputkodning samt en Content-Security-Policy. En testprobe som <script>alert(1)</script> bekräftar om indata escapas.
SSRF och Path Traversal
Två andra grundpelare inom webbsäkerhet:
- Server-Side Request Forgery (SSRF) — ni lurar servern att göra förfrågningar åt er, ofta till adresser som endast är interna, som
http://127.0.0.1eller en slutpunkt för molnmetadata, för att nå flaggan. - Path traversal — ni tar er ut ur en avsedd katalog med sekvenser som
../för att läsa filer utanför webbroten, till exempel../../../../etc/passwd.
Båda beror på att användarindata får välja resurs. Försvaret består av strikta allowlistor samt att först kanonisera och sedan validera sökvägar innan de används.
Kodning är inte kryptering
Den vanligaste kryptofällan för nybörjare är att förväxla kodning med kryptering. Kodning kan återställas av vem som helst utan nyckel och ger därför ingen sekretess alls.
Lär er att känna igen formaten direkt:
- Base64 — bokstäver, siffror,
+ /och ofta utfyllnaden=. - Hex — endast
0-9 a-f. - ROT13 / Caesar — läsbar struktur och förskjutna bokstäver.
# Decode base64
echo 'ZmxhZ3toZWxsb30=' | base64 -d
# Decode hex
echo '666c6167' | xxd -r -pKlassiska chiffer och XOR-chiffer
Många kryptoutmaningar använder svaga historiska chiffer eller slarvigt konstruerade moderna varianter:
- Caesar / Vigenere — skiftchiffer som kan knäckas med frekvensanalys eller genom att prova alla 25 skiftningar.
- Single-byte XOR — hela meddelandet XOR:as med en byte; prova alla 256 nycklar och välj det läsbara resultatet.
- Repeating-key XOR — bryts genom att hitta nyckellängden och sedan lösa varje nyckelbyte som en XOR med en byte.
Lärdomen är att ett egenkonstruerat eller klassiskt chiffer inte ger någon verklig säkerhet mot en analytiker.
RSA-fällor
RSA är bara säkert när parametrarna väljs korrekt. CTF-krypto ger er gärna en trasig instans:
- Liten modul — om
när tillräckligt litet kan ni faktorisera det direkt för att återskapa den privata nyckeln. - Minimal exponent, ingen padding — med
e=3och ett kort meddelande kan chiffertexten vara en perfekt kub som kan återskapas med en heltalskubikrot. - Gemensamma faktorer — om två publika nycklar delar ett primtal avslöjar den största gemensamma delaren av deras moduli det direkt.
I verkligheten är försvaret att använda ett väl beprövat bibliotek med stora nycklar och korrekt padding (OAEP) – uppfinn aldrig egna lösningar.
Hashknäckning
När en utmaning ger dig en lösenordshash är målet att återskapa det ursprungliga värdet. Du kan inte göra en hash baklänges, men du kan gissa indata och jämföra.
# Identify the hash type first
hashid 5f4dcc3b5aa765d61d8327deb882cf99
# Dictionary attack with hashcat (mode 0 = raw MD5)
hashcat -m 0 hash.txt rockyou.txt
# John the Ripper alternative
john --wordlist=rockyou.txt hash.txtEtt repeterbart arbetsflöde
Knyt ihop det med en konsekvent loop för båda kategorierna:
- Observera — läs uppgiften, visa källkoden och identifiera kodningen eller schemat.
- Formulera en hypotes — ange den troliga sårbarhetsfamiljen.
- Testa småskaligt — skicka en testpayload och studera det exakta svaret.
- Utnyttja — bygg ut den fungerande testpayloaden till en fullständig payload som ger flaggan.
- Dokumentera — skriv ned payloaden och resonemanget medan det fortfarande är färskt.
Den här loopen håller dig borta från återvändsgränder och ger dig nästan automatiskt en writeup.
Snabbtest
Testa dina kunskaper i grunderna i webbsäkerhet och kryptografi.
Sammanfattning
Du har gått igenom de återkommande webb- och kryptopusslen:
- Webb: kartlägg först och testa sedan efter SQL-injektion, XSS, SSRF och path traversal – alla bygger på osäker tillit till användarindata och åtgärdas genom att skilja kod från data.
- Kryptografi: skilj kodning från kryptering, knäck svaga klassiska chiffer och XOR-chiffer, utnyttja felaktiga RSA-parametrar och knäck hashvärden med ordlistor.
- En gemensam loop med att observera, formulera en hypotes, testa, utnyttja och dokumentera fungerar för båda.
Nästa steg är reverse engineering och binär exploatering.
Lär dig Cyber Security Academy med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 76
- Lektioner
- 303
Vanliga frågor
Är lektionen ”Webb- och kryptoutmaningar” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Cyber Security Academy, inklusive ”Webb- och kryptoutmaningar”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Webb- och kryptoutmaningar”?
Lös vanliga webb- och kryptopussel. Ni övar på Cyber Security Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Cyber Security Academy?
Du behöver inga förkunskaper. Utbildningen i Cyber Security Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Webb- och kryptoutmaningar”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Cyber Security Academy-lektionen?
Ja. Varje Cyber Security Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- CTF-kategorier och tankesätt
- Webb- och kryptoutmaningar
- Grunderna i reversing och pwn
- Verktyg och writeups