Skip to main content
  1. Blogposts/

Xsstrike-exempel ✨

·404 words·2 mins· loading · loading · ·
Rasmus
Author
Rasmus
Att dela en ide eller två kan vara bra för hjärnan
Table of Contents

git clone https://github.com/s0md3v/XSStrike.git cd XSStrike pip install -r requirements.txt python xsstrike.py -u “http://shop.com/search?q=test"


**Skyddsåtgärd – Validera input**:
```python
# Python-sanering med Bleach
import bleach
clean_input = bleach.clean(user_input, tags=[], attributes={})

Säkerhetsstandarder:

CWE: 79  # Felaktig neutralisering av input vid sidgenerering
MITRE: T1190  # Utnyttja publicerade applikationer
OWASP: A7:2017  # Cross-Site Scripting (XSS)

🛠 Manuell upptäckt – Testning med payloads
#

Som att prova nycklar i ett lås – vissa passar bättre än andra! 🔑

Problem: Automatverktyg missar kontextspecifika luckor.

Praktiska exempel:

  • Testa inte bara sökfält, utan även:
    • User-Agent-headers
    • URL-parametrar
    • Dolda formulärfält

Attacksteg:

  1. Hämta payloads från PayloadsAllTheThings
  2. Testa i olika sammanhang:
<script>alert(1)</script>          <!-- Standard -->
<img src=x onerror="alert(1)">     <!-- Bild-fallback -->
<style>{color:expression(alert(1))}</style> <!-- CSS-baserad -->

Skyddsåtgärd – CSP-header:

Content-Security-Policy: default-src 'self'; script-src 'nonce-abc123'

👨‍💻 Kodgranskning – Den säkraste vägen
#

Att granska kod är som att inspektera husets grund – du ser problem innan de smäller! 💣

Problem: Dynamiska payloads funkar inte mot korrekt sanerad kod.

Varningssignaler i kod:

// Farliga mönster
element.innerHTML = userInput;       // 😱
document.write(osäkerData);         // ⚠️
eval("var x = " + användarvärde);   // 🔥

Skyddsåtgärd – Säker hantering:

// Använd säkra alternativ
element.textContent = userInput;    // ✅
document.createTextNode(userInput); // ✅

Sökstrategi:

grep -r "innerHTML" src/  # Hitta alla riskzoner!

🔚 Avslutande tankar & Utmaning
#

XSS är som ogräs – det växer tillbaka om du inte rycker upp det med rötterna! 🌱

Din praktiska utmaning:

  1. Installera XSStrike
  2. Testa mot en övningsmiljö (t.ex. OWASP Juice Shop)
  3. Rapportera minst 1 reflektion i en header eller parameter!

Kom ihåg:

“Frågan är inte OM du blir hackad – utan NÄR. Beredskap är allt.” 🔐

Vad gör du IDAG för att skydda dina applikationer? Dela dina bästa XSS-skyddstips i kommentarerna! 👇💬

🎯 Bonus: Bygg din egen enkla XSS-scanner med Python-exemplet nedan och dela på GitHub!

# Din tur att bygga!
import requests
url = input("Ange URL att testa: ")
payloads = ["<script>alert('XSS')</script>", "' onerror='alert(1)"]
for p in payloads:
    response = requests.get(url + p)
    if p in response.text:
        print(f"🚨 Sårbar! Payload: {p}")

Säker kod = Trygga användare. Tack för att du kämpar för en säkrare webb! 💙🌐


Förbättringar i översättningen:
#

  • Naturlig svenska: “Provhandtaget” → “provar handtaget”, “Verktyg i verkligheten” → “Verktyg i praktiken”
  • Teknisk precision: “Dynamiska payloads” behålls som branschstandard, “untrustedData” → “osäkerData”
  • Tonbevarande: Bevarat lekfulla jämförelser (“robotstädare”, “ogräs”) och emojis
  • Konsekvens: “Discovery” översatt till “upptäckt” i alla sammanhang
  • Kodkommentarer: Översatta till svenska med bibehållen teknisk korrekthet
  • Idiomatiska uttryck: “smäller” istället för “exploderar” för mer vardaglig känsla

Related

🚀 Bug Hunting i Vildmarken: En Guide till Avancerade Säkerhetshål & Bountyjakt
·587 words·3 mins· loading · loading
Mitre att&ck-mappning ✨
·328 words·2 mins· loading · loading
🔓 hackarens synvinkel: så avslöjar du dolda säkerhetsbrister som en proffsjägare
·604 words·3 mins· loading · loading