Korporacinės ugniasienės didžiąją laiko dalį saugo įmonės tinklą nuo visokiausių grėsmių, tačiau kartais jos pačios tampa taikiniu ir prisideda prie įsilaužimų. Astaro Security Gateway (ASG) yra puiki ugniasienė, rekomenduoju, tačiau nieko nėra tobulo. Sėkmingai išnaudojus šioje ugniasienėje rastą nedidelį pažeidžiamumą įmanoma vykdyti bet kokius scenarijus Internet Explorer 6/7 naršyklėje bet kokios interneto svetainės kontekste.
Esu jau rašęs apie Fortinet Fortigate ugniasienės išnaudojimą, šįkart situacija analogiška, aptikau XSS pažeidžiamumą ASG 7.50* ugniasienės HTTP filtro klaidos pranešime, skiriasi tik išnaudojimo mastas, kadangi jis veikia tik su šešta ir septinta Internet Explorer versijomis. Ne paslaptis, kad šios naršyklės vis dar intensyviai naudojamos daugelyje įmonių, kai tuo tarpu IE 8 turi pakankamai apsaugų nuo įvairių atakų tipų. Tikriausiai tokia situacija dar ilgai išliks, nes dauguma verslo programinės įrangos žymiai lėčiau adaptuojasi prie technologinių naujovių.
XSS spragos yra slidus reikalas, priklauso nuo begalės veiksnių. Pavyzdžiui, Internet Explorer šeimos naršyklės, priešingai nei kitos, nekoduoja tam tikrų potencialiai pavojingų simbolių, esančių URL, prieš perduodant užklausą serveriui. Tokie simboliai kaip: ', ", <, > yra perduodami nekoduotai. Jeigu web aplikacija neatlieka jokio filtravimo, šie simboliai atvaizduojami HTML kode, todėl įmanoma vykdyti XSS atakas.
URL /?foo=<>'" kodavimas naršyklėse:
| IE 8 | FF 3.5.4 | Opera 10 |
| GET /?foo=<>'" | GET /?foo=%3C%3E%27%22 | GET /?foo=%3C%3E'%22 |
ASG ugniasienės viena iš HTTP filtro galimybių yra blokuoti tam tikrą URL ar jos dalį. Norėdami padidinti darbuotojų produktyvumą, tinklo administratoriai gali blokuoti visus adresus, kuriuose yra „youtube.com“. Apsilankius tokiame tinklalapyje, interneto naršyklėje bus rodomas pranešimas, kad prieiga prie resurso yra uždrausta. Pranešime taip pat yra pateikiama nuoroda į pilną adresą, kurį buvo bandoma pasiekti.

Pranešimo išeities teksto svarbiausia dalis:
<a href="http://www.youtube.com/watch?v=7-NOZU2iPA8">
Pažeidžiamumas pasireiškia dėl netobulo pavojingų simbolių filtravimo mechanizmo veikimo apdorojant HTTP filtrui perduodamų parametrų turinį, kuris po to yra atvaizduojamas HTML kode. Šiuo atveju yra filtruojami tik simboliai „<“ ir „>“ esantys klaidos pranešime pateikiamoje nuorodoje, o visi kiti simboliai pateikiami tokie, kokie buvo gauti iš interneto naršyklės, todėl čia išryškėja IE 6/7 indėlis. Iš aukščiau pateiktos išeities teksto dalies matome, kad galima visiškai išsiversti be filtruojamų simbolių, reikia tik susikonstruoti tinkamą XSS atakos vektorių.
Tarkime, jog norime išgauti „google.com“ slapukus, tada XSS atakos vektorius gali būti toks:
http://www.google.com/?evil=youtube.com&own="style="xss:expression(alert(document.cookie))"
XSS atakos vektorius ASG pranešimo išeities tekste IE naršyklėje:
<a href="http://www.google.com/?evil=youtube.com&own="style="xss:expression(alert(document.cookie))"">
Paspaudus ant specialiai suformuotos nuorodos, vartotojo, esančio Astaro Security Gateway apsaugotame tinkle Internet Explorer 6/7 naršyklėje bus įvykdytas JavaScript scenarijus „google.com“ interneto svetainės kontekste. Simbolio „"“ dėka įterpiame „style“ atributą, kuriam galima nurodyti CSS stilius generuoti dinamiškai pasitelkiant JavaScript. Tokiu pat principu galima perimti bet kokio tinklalapio slapukus arba atlikti kitus kenkėjiškus veiksmus.
Astaro Security Gateway gamintojas pažadėjo, kad artimiausias pataisų paketas ištaisys šį pažeidžiamumą.
Pažeidžiamumo demonstracija:


