[flash plugin] Uaktualnij swoją {f}tyczkę
 Oceń wpis
   

Na stronie Adobe można pobrać nową wersję pluginu flasha do przeglądarek - ten, kto tego nie zrobił dotychczas, niech zrobi jak najprędzej.

Poprawka zawarta w nowej wersji łata poważne dziury umożliwiające atak poprzez odpowiednio spreparowany plik swf: Zdaniem specjalistów z iDefense użytkownicy Sieci są bardzo często oszukiwani w niezwykle prosty sposób. Plik Flash stworzony przez przestępców umieszczany jest na znanej, budzącej zaufanie stronie. Internauci nie spodziewają się więc ataku i uruchamiają niebezpieczną zawartość.

źródło:IDG.pl (link poniżej)

Prawdopodobnie chodzi o ten sam błąd, który wcześniej  został zauważony w Adobe Acrobat i Readerze.

 Czytaj też: Adobe uaktualnia wtyczkę Flash na IDG.pl. O tym samym na dobreprogramy.pl: Ważna łatka do Adobe Flash.

Link bezpośrednio do strony z update'm oraz sposób deinstalacji plugina (jeżeli będzie to konieczne) znajdziesz u mnie we wpisie "Uwaga na fałszywy plugin flash".

Komentarze (3)
Jak schackierować SWFa ?
 Oceń wpis
   

Jak niektórzy się domyślają (a inni już wiedzą) SWF ("*.swf") to rozszerzenie pliku wykonywalnego flasha, a więc APLIKACJI FLASHOWEJ - w odróżnieniu od FLA ("*.fla"), który nawet nie jest plikiem kodu źródłowego, ponieważ oprócz instrukcji Action script (które coraz częściej /OOP/ są umieszczane w zewnętrznych plikach ("*.as") zawiera "instrukcje" wyglądu stage'u, pozycje klipów i parametry poszczególnych klatek movieclipów, które nie mają odzwierciedlenia w kodzie APLIKACJI (czyli pliku *.swf). To gwoli wytłumaczenia klientom, że nawet  kupując wykonanie aplikacji flashowej od zera, nie kupują zarazem praw do pliku FLA (* o ile umowa nie stanowi inaczej), ale o tym będę jeszcze pisał w innym wpisie.

Przejdźmy do rzeczy - parę wpisów temu popełniłem jeden wpis o łamaniu swfów, gdzie rąbek tajemnicy, który uchyliłem, był... bardzo mały.

Oczywiście pytania prywatne były, a jakże! No więc jak na prywatne pytania uchyliłem prywatnie więcej rąbka tajemnicy, to nawet przez niektórych zostałem obśmiany (no a jakże, przecież "oczywiste oczywistości" gadam). Np. przy tym, że jeden ze sposobów nazwałem "image injection" - oczywiście szczegółów nie poznali, ale obraz na swoje podobieństwo zbudowali (a kto im broni ? nikt :P)

To tyle tytułem wstępu. Pora teraz uchylić taaaaakiego rąbka, czyli przybliżyć parę sposobów jak zobaczyć, co w swfie piszczy (pizga ?).

MEMORY CRAWLER

Sposób najprostszy, bo bez ingerencji w swfa - ot, po prostu wystarczy sobie załatwić skaner pamięci. Jak to działa, nie będę opisywał, bo już ktoś to zrobil za mnie. A oto pokaz (z jutjuba) przeprowadzany na jednej z opisywanych przeze mnie gier - BOXHEADS

A tu link do tego, jak to zrobić (opisują twórcy programu - jednego z wielu): how to cheat flashgames. Oczywiście nie ma akcji bez reakcji: poznaj przeciwnika

Teraz pora pobawić się tym, co przez przeglądarkę przechodzi...

HTTP PROTOCOL SCANNERS

Tu nie ma co opisywać. Są programy, które zajmują się skanowaniem portów HTTP, śledzą co wchodzi, a co wychodzi z przeglądarki - często same są pluginami do przeglądarki, jak np. Data Temper i Live HTTP Headers do FireFoxa. Są też zewnętrzne, działające na konkretnym IP. Cała sztuczka polega na tym, żeby domyślić się co, gdzie, w danym miejscu ciągu oznacza.

DOWNLOAD & MODIFY

Opuszczamy teraz przeglądarkę - no może za chwilę, bo pierw musimy ściągnąć dodatek (jak się nazywa, to nie powiem, bo sam nie pamiętam) do przeglądarki, który pozwoli nam "na żywca" skopiować swfa z przeglądarki. Jak nie mamy takiego narzędzia, to wystarczy wziąć znaleźć na dysku pliki *.swf zapisane w ciągu ostatnich 10-30 minut. Oczywiście nie jest to sposób pozyskania w 100% skuteczny, ale od biedy...

Ok, download już był, teraz pora na modify - a to już wszyscy znają - ściąga się jakiegoś swf dekompilatora i bawi nim. W najgorszym przypadku dostaniemy tylko obrazki, ale to już coś ;)

No ale na akcję jest reakcja - po to ktoś wymyślił obfuskatory, żeby zabezpieczyć swfa przed dekompilowaniem.

CODE RESEARCH

No to... gdy mamy do czynienia z obfuskatorem: zapewne obrazki wyjmiemy, ale poza tym, jedyne co dostaniemy to taką sieczkę:
var \x1 = 681;
while (\x1 = eval("\x1") + 49, eval("\x1") == 670)
{
    \x1 = eval("\x1") - 669;
    break;
}
\x1 = eval("\x1") - 683;
if (eval("\x1") == 669)
{
    \x1 = eval("\x1") + 23;
   
   
}
\x1 = eval("\x1") - 594;
if (eval("\x1") == 930)
{
To już jest przepapane - całego kodu nie ściągniemy, ale... skoro mamy już swfa na dysku, to... zapiszmy w tym samym folderze drugiego swfa, z takim kodem (test.swf to oczywiście nazwa pliku, który ściągnęliśmy na dysk):

var MCL:MovieClipLoader = new MovieClipLoader ();
MCL.loadClip ("test.swf", createEmptyMovieClip ("test", 1));
MCL.addListener (this);
this.onloadInit = function (MC) {
 for (var name in MC)
 {
  for (var val in test[name]) {
   trace(name + "." + val + " = " + test[name][val]);
  }
 }
};

i odpalmy pod kontrolą edytora, albo jakiegoś innego debuggera... Kodu raczej nie zobaczymy, ale zmienne, wartości, nazwy klas już nam wiele dadzą. Jaki z tego wniosek ?

OBFUSKATOR ZABEZPIECZA WYŁĄCZNIE PRZED DEKOMPILACJĄ! Nie przed zajrzeniem w działający kod!

SHARED OBJECTS VIEWER

SO - czyli te "flashowe cookies" o których kiedyś pisałem, też nie są tak bezpieczne, jak się wydaje. Stąd: http://solve.sourceforge.net/ można pobrać projekt, który pozwala bez problemu oglądać te "czaszczeczka" (tylko szę nie udłafcze) i edytować je - a przynajmnej wartości cyfrowe i stringi.

Poza powyższym sposobem mam jeszcze dwa inne, w których da się SO wykorzystywać. Jeden - to wszystko możemy podejrzeć ręcznie (nawet odpalić), jeżeli tylko plik SO (odpowiednio spreparowany) umieścimy w folderze odpowiadającemu SO naszego projektu. Drugi - o nim trochę powiedziałem na spotkaniu "After Party" w Katowicach. Żeby nie rzucał się w oczy: nazwałem go "Function Injection". Koniec na ten temat.

IMAGE INJECTION

I za tą nazwę zostałem obśmiany, a tak dużo można przez to uzyskać!

Wyobraźmy sobie serwis, który pozwala na upload fotek we flashu, z wykorzystaniem w aplikacji flashowej - np. jak na miniklipie ta mutowarka zdjęć. Teraz pomyślmy, że flash w ten sam sposób ładuje i pliki *.jpg, jak i inne *.swf-y. Oświeciła się lampka ?

Jeżeli zmienimy rozszerzenie pliku *.swf na *.jpg, a po stronie serwera nie będzie niczego, co by sprawdzało faktyczną postać pliku, to praktycznie furtkę do swfa już mamy otwartą. I to ONLINE!!! Łącząc teraz niektóre z opisanych sposobów w logiczną całość razem z tym sposobem, mamy władzę nie tylko nad swfem - nad transmisją, zapisem wyników, śledzeniem użytkownika, a w najgorszym przypadku... mamy możliwość zapisu własnego pliku php na serwerze!!!

Dobra, jeżeli ktoś już sprawdza bity (czyli rzeczywistą postać plików), to wie, że około 128 pierwszych bajtów jest ważne - a jeżeli by tak wypróbować, czy administrator serwera zezwolił na odpalenie skryptów php spod innych rozszerzeń ? A pole description jpg-a ?

No to macie teraz prawie 50% mojej wiedzy ;)

Acha: i nie piszcie w komentarzach, że ten a ten idzie zabezpieczyć w taki a taki sposób (chyba, że chcesz się podzielić jakimś swoim autorskim sposobem, ale to już wtedy skontaktuj się prywatnie, a nie poprzez komentarz) - bo ja wiem, że na każdy z tych sposobów da się znaleźć odpór :D - jak już napisałem na każdą akcję znajdzie się reakcja.

Komentarze (0)
Zabezpieczenia zostały złamane!
 Oceń wpis
   

Krótka notka.

Wczoraj, późną nocą, udało mi się znaleźć sposób, aby obejść kodowanie swfów obfuskatorami. Oczywiście te związane z zabezpieczaniem danych, a nie z czytelnością kodu. Choć zapewne jakby się uprzeć, to i kod dało by się "przywrócić".

Uchylę rąbka tejemnicy - sposób wejścia nazwałem... nie - za dużo bym powiedział :). To drugi sposób - skuteczniejszy, a zarazem prostszy niż skanowanie pamięci :).

I jeszcze jedno: żaden allowDomain ani secureDomain przed tym nie zabezpieczy. Ani serializacja czy też hash'owanie transmisji.

Czy gra typu "jeszcze bardziej efektywne zabezpieczanie swfa" jest warta świeczki ? Myślę, że jest. Chociażby z powodu aplikacji konkursowych, przesyłania poufnych danych itp.

Jest parę sposobów, które na bieżąco testuję pod kątem zabezpieczenia przed tego typu włamianiami. Na skanery pamięci sposób już mam. Na pozostałe... wiadomo, zawsze znajdzie się ktoś przebieglejszy...

Nie - nie zamierzam nikomu rzucać rękawicy - po prostu, poprawiam komfort psychiczny moich klientów ;-).

Komentarze (1)

Najnowsze komentarze
2014-01-06 19:33
najlepszeprezenty.com.pl:
Flash After Party czyli o flashu w realu [EDIT]
pozdrowienia :)
2013-12-25 22:07
Powiększanie penisa:
Warto blogować ?
Trudno się z tym nie zgodzić, przez to, że są bardzo ogólne to także są bardzo trafne.
2013-12-08 22:47
ets2:
Warto blogować ?
Wartościowych blogów jest na naprawdę mało, sam staram się coś stworzyć a czy wyjdzie to się[...]
O mnie
MaW: flash, gry i cała reszta
Po prostu flashmaniak.