Reflekterad DOM-injektion

Reflected DOM Injection (RDI) är en undvikande XSS- teknik som använder en tredje parts webbplats för att konstruera och utföra en attack . Denna teknik kan implementeras på webbplatser som använder en webbadress som tillhandahålls av användaren som en del av sin tjänst (t.ex. översättningstjänster, cachningstjänster, etc.)

För att implementera denna teknik:

  1. Ta en bit kod som du vill dölja med RDI ("Kod X")
  2. Hitta en tjänst som tar emot användarinput enligt beskrivningen ovan ("Tjänst Y")
  3. Välj en funktion som är unik för den här tjänsten (t.ex. ett DOM-element som lagts till av denna tjänst) och använd den för att skapa en pseudo-unik "nyckel".
  4. Kryptera kod X med nyckeln och värd den på din webbplats, lägg till kod som försöker återskapa nyckeln och dekryptera innehållet under körning.
  5. Bläddra till din webbplats med tjänst Y. Dekrypteringskoden kommer att exekvera och återskapa nyckeln, dekryptera din dolda kod och exekvera den.

Genom att använda denna teknik utlöses exploateringen endast om användaren följde det förväntade flödet och gick in på vår webbplats med hjälp av tredjepartstjänsten. Samma kod skulle dock inte köras genom att surfa direkt till angriparens webbplats.

Användning av RDI-teknik Figur 1

Figur 1 beskriver en direktåtkomst till en webbplats som använder RDI-tekniken för att utnyttja användarens webbläsare . Genom att gå direkt till webbplatsen förblev exploateringen krypterad och innehållet som skickades till klientdatorn förblir godartat.

Användning av RDI-teknik Figur 2

Figur 2 beskriver attackscenariot - där användaren går in på webbplatsen som använder RDI-tekniken med hjälp av tredjepartstjänsten Y. Tjänsten skapar en ny anslutning till angriparens webbplats, tar emot innehållet, manipulerar det för att tillhandahålla tjänsten och levererar det nya modifierade innehållet till användaren. Denna manipulation utförd av Service Y förvandlar angriparens sida till en skadlig sida genom att hjälpa till att generera nyckeln som krävs för att dekryptera den skadliga koden. RDI-tekniken använder faktiskt tredjepartstjänsten för att skapa det skadliga innehållet.

RDI-tekniken ger följande fördelar:

  1. Webbadressen till exploateringen finns på känd och legitim tjänst.
  2. Innehållet som finns på angriparens webbplats är i huvudsak legitimt när det nås direkt.
  3. Det skadliga innehållet kan bara avslöjas genom att följa attackens fulla flöde.

RDI-tekniken presenterades först på DEFCON 21 av Daniel Chechik och Anat Davidi. Ett fullständigt scenario av tekniken beskrivs i en artikel som publicerades efter konferensen på Trustwave SpiderLabs blogg...

Denna sida är inte tillförlitlig.