Portál AbcLinuxu, 1. července 2025 00:12

Trápna zraniteľnosť v XML komentári a koniec remote XUL

22.12.2010 00:23 | Přečteno: 1014× | linux

Dnes som objavil jednu naprosto triviálnu zraniteľnosť v mojom php projekte a keď som to chcel otestovať v najnovšom Firefoxe 4 beta 8 (vyšla tuším dnes) tak som zistil že Mozilla ukončila podporu Remote XULu.

Tu je ten problematický php kód:

function xml_comment_sql($s) {
  // sluzi na vypis SQL do komentaru XML pred spustenim toho SQL, kvoli ladeniu a tak
  global $mysql_link;
  echo "<!-- ".mysql_real_escape_string(htmlspecialchars($s),$mysql_link)." -->\n";
}

Ja som tam pred dvoma rokmi bezmyšlienkovite dal escapovanie pre sql, a nejak mi uniklo že musím escapovať aj dve pomlčky ktoré predčasne ukončia ten xml komentár. Viem si predstaviť zneužitie napr. v RSS feedoch. Útočník by tak ukončil komentár, za to by dal nejaký image kde src by bola nejaká ddos-ovaná stránka alebo také niečo. Ja viem, ja viem, namiesto bastlenia XML som mal použiť niečo normálne na generovanie. No, čo už, stane sa.

Druhá vec sa mi najprv zdala trochu nemilá ale potom som si uvedomil že je to vlastne dar z nebies. Mozilla ukončila podporu remote XUL v Firefoxe 4.0. Poučenie pre mňa: nikdy nechoď do frameworku ktorý má jediného dodávateľa. Konečne mám dôvod ukončiť podporu mojich XUL aplikácií a portnúť ich na HTML5.

Nedávno som v HTML5 objavil pár nových zaujímavých atribútov týkajúcich sa validácie formulárov u klienta. Prvý je "required", ktorý ak je input prázdny tak ho začervení. Druhý je atribút "pattern" kde môžete dať regulárny výraz (napr. slová začínajúce na "a", proste čokoľvek. Ďalšia novinka je typ "email" alebo "url", význam je snáď jasný. Nie je to úplne blbuvzdorné ale na základné zaplácnutie v pohode a netreba sa trtkať s JS kódom. Sú tam aj "min", "max" a pár ďalších naozaj užitočných vecí. Kontrola vstupov na serveri ale samozrejme zostáva, o tom bez debaty.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

22.12.2010 12:41 Mrkva | skóre: 22 | blog: urandom
Rozbalit Rozbalit vše Re: Trápna zraniteľnosť v XML komentári a koniec remote XUL
Odpovědět | Sbalit | Link | Blokovat | Admin
Ja som tam pred dvoma rokmi bezmyšlienkovite dal escapovanie pre sql, a nejak mi uniklo že musím escapovať aj dve pomlčky ktoré predčasne ukončia ten xml komentár.
Neukončuje náhodou komentář sekvence "-->"? "--" je začátek řádkového komentáře v SQL. A i kdyby se povedlo ten komentář nějak ukončit, jak tam někdo vloží obrázek, když tam nevloží < ?
Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
22.12.2010 15:17 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Trápna zraniteľnosť v XML komentári a koniec remote XUL
Sekvence -- není v XML komentáři povolená.

Jinak escapovat výstup pro XML pomocí funkce pro escapování SQL je – řekněme skutečně zvláštní přístup.
22.12.2010 16:33 Mrkva | skóre: 22 | blog: urandom
Rozbalit Rozbalit vše Re: Trápna zraniteľnosť v XML komentári a koniec remote XUL
Sekvence -- není v XML komentáři povolená.
Pravda, ale spíš to způsobí pád parseru s chybou než ukončení komentáře.
Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.