Névjegyzék

XSS támadási képzés. XSS biztonsági rés - mi az? Példák az XSS sebezhetőségekre. Adatok töltött formákból

Az Intersype Scripting (XSS) olyan sebezhetőség, amely az ügyféloldalon (JavaScript) végrehajtható kód végrehajtható a weboldalon, amelyet más felhasználók hoznak létre.

A sérülékenység az elégtelen adatszűrés miatt keletkezik, amelyet a felhasználó a weboldal behelyezésére küld. Sokkal könnyebb megérteni konkrét példa. Emlékezzen vendégkönyv - Ezek olyan programok, amelyek célja a felhasználó adatai és az azt követő kijelző. Képzeld el, hogy a vendégkönyv semmilyen módon nem ellenőrzi, és nem szűri be az adatokat, de egyszerűen megjeleníti őket.

Lehet, hogy a sajátját egyszerűbb szkript (Semmi sem könnyebb, mint a rossz szkriptek írása a PHP-en - Ez nagyon részt vesz ebben). De vannak rengeteg készenléti lehetőség. Például azt javasolom, hogy megismerjem a Dojo és az Owasp Mutillidae II-t. Hasonló példa van. Az önálló Dojo környezetben keresse fel a böngészőt referenciaként: http: //localhost/mutillidae/index.php? Oldal \u003d add-to-blog.php

Ha valaki a felhasználók által megadott:

Ez a weblap megjelenik:

Hé! Mint a webhelyed.

És ha a felhasználó belép:

Hé! Mint a webhelyed.

Ez így jelenik meg:

A böngészők megtartják a cookie-kat nagyszámú webhelyek. Minden webhely csak megmenti a cookie-kat. Például a példa.com weboldal megőrizte a böngészőben lévő cookie-kat. Te vagy az összeomlás a másik.com webhelyére, ez az oldal (kliens és kiszolgálói szkriptek) nem férhet hozzá a cookie-khoz, hogy a példa.com webhely mentett.

Ha a webhely példája.com sérülékeny az XSS-hez, akkor ez azt jelenti, hogy egy vagy más módon tudunk megvalósítani a JavaScript-kódot, és ezt a kódot a webhely példány nevében fogják végrehajtani! Azok. Ez a kód megkapja például a Cookis Site example.com eléréséhez.

Azt hiszem, mindenki emlékszik arra, hogy a JavaScript végrehajtásra kerül a felhasználói böngészőkben, azaz. XSS jelenlétével, beágyazva rosszindulatú kód Hozzáférést kap a webhely oldalt megnyitott felhasználói adatokhoz.

A beágyazott kód képes arra, hogy a JavaScript, nevezetesen:

  • hozzáférés a megtekintett webhely cookie-khez
  • változhat megjelenés oldalak
  • hozzáférés az Exchange pufferhez
  • megvalósíthatja a JavaScript programokat, például Ki-loggers-t (nyomva tartott kulcsos interceptorok)
  • Érintse meg a marhahúsra.
  • satöbbi.

A legegyszerűbb példa Cookiz segítségével:

Tulajdonképpen, Éber. Csak az XSS kimutatására használják. Real Malware Payloads rejtett műveletek. A rejtett kötődés egy távoli betolakodó kiszolgálóhoz kötődik, és ellopott adatokat továbbít.

XSS típusok.

A legfontosabb dolog az, hogy meg kell értened az XSS-ek típusát:

  • Tárolt (állandó)
  • Tükröződik (nem állandó)

Például állandó:

  • A támadó bemutatott egy speciálisan kialakított üzenetet a vendégkönyvbe (megjegyzés, fórumüzenet, profil), amely a kiszolgálón tárolt, a szerverről betöltve minden alkalommal, amikor a felhasználók kérik az oldal megjelenítését.
  • A támadó hozzáférést kapott a kiszolgálóadatokhoz, például SQL injekción keresztül, és bevezette a felhasználónak nevezett adatokat a rosszindulatú JavaScript-kód (ki-loggerekkel vagy marhahússal).

A nem állandó minta:

  • A webhely keresése van, amely a keresési eredmények mellett valami ilyesmit mutat, mint "keresett: [Keresési karakterlánc]", míg az adatok nem szűrtek megfelelően. Mivel egy ilyen oldal csak annak érdekében jelenik meg, hogy kapcsolatba léphessen, míg a támadó nem fogja elküldeni a linket a webhely többi felhasználójához, a támadás nem fog működni. Az áldozatra való hivatkozás helyett egy rosszindulatú szkript elhelyezését használhatja az áldozatot meglátogató semleges helyszínen.

Még mindig kiemelkedik (néhány fajta nem állandó XSS sebezhetőség, néhányan azt mondják, hogy ez a faj lehet számos konstans XSS):

  • Dom modell

A DOM-on alapuló XSS-ek

Ha teljesen egyszerű, a "rendes" nem állandó XS-ek rosszindulatú kódja látható, ha megnyitja a HTML-kódot. Például a link így alakul:

Http://example.com/search.php?q\u003d "/\u003e

És az eredeti HTML-kód megnyitásakor valami ilyesmit látunk: