Archiwalia dla 01.2005

Czymże zasłużyliśmy?

Od jakiegoś czasu napadają mnie pierwsze Jellonki na jabberze. Nie wytrzymałem. Hapi nie ma racji bytu.

Na ichnim forum zostawiłem im wiadomość o poniższej treści:

Witam,

Piszę jako członek polskiej społeczności jabberowej, lecz nie piszę w jej imieniu. Zawarta poniżej treść jest prywatną opinią jej autora i nie może być odbierana w jakikolwiek inny sposób.

Od dawna jestem szczęśliwym użytkownikiem jabbera (jak większość geeków, programistów linuksowych, sysadminów i innych pochodnych antysocjalnych społeczności komputerowych). Szczęśliwym o tyle, że jabber od zawsze wolny był od przeróżnych “koFFanyH pAniEnEk”, “1337 haxx0rów” i tłumów zbyt skąpo obdarownaych przez życie intelektem dzieci. Wielokrotnie już zastanawiałem się nad całkowitym odłączeniem transportu GG, a to za sprawą tyle napastliwych co napalonych “trzynastek”, a to za sprawą ludzi, którzy są tak ubodzy w zainteresowania, że nie widzą lepszej metody zagospodarowania czasu, niźli tylko zaczepianie losowych osób “szczęśliwie” wybranych z czeluści katalogu użytkowników. Od zawsze na transport GG patrzyłem jak na opcjonalne połączenie świata ludzi kompetentnych ze światem chaosu (procentowo, naturalnie - są wyjątki po stronie jabbera, są i niedoinformowane jednostki wartościowe po stronie GG). Dlaczegóż chcecie więc nam, bogu ducha winnym użytkownikom, zgotować los tak marny? Przepuścić hordy matołów dla własnej satysfakcji? Czy warto zrobić to tylko po to, by za parę lat wszyscy informatycy na świecie (a jabber polski nie jest - ciekawe, czy Niemcy, Amerykanie, Japończycy i Francuzi ucieszą się na widok dobrze znanego już nam “cze poklikash?!!?!!11!!” lub “z kont jestes”) będą wspominać was jako tych, którzy pokonali sieć. Jako następną funkcję proponuję więc dodać system automatycznego rozsyłania/forwardowania łańcuszków, być może nawet z funkcją generatora, a następnie wprowadzić katalog WWW userów (nie ograniczający się do domeny hapi.pl - w końcu każdy człowiek potrzebuje trochę spamu - zwłaszcza ci, których JID jest identyczny z mailem).

Być może nie rozumiem waszej motywacji, może są w tym jakieś cele wyższe. Przykro mi jednak, bo jeśli dalej tak pójdzie, za parę lat, dziś korzystający z jabbera, Polacy będą musieli się wstydzić. Nie za siebie, za grupy niewychowanych nastolatków i nastolatek, których wtajemniczyliście w techniki “komunikacji” międzyserwerowej.

Gdy tak o tym myślę, cieszę się, że Tlen.pl pozostaje do dziś serwerem zamkniętym.

Z poważaniem,
Patryk Zawadzki <patrys AT pld-linux DOT org>

A Aleja się nie boi włamywaczy!

Świąteczny czas to okres szczególny i radosny, toteż i rozrywki okołowigilijne odbiegają nieco od zajęć przyjętych za standardowe. W poprzednim roku (choć było to zaledwie paręnaście dni temu) zebrało mi się na napisanie artykułu na temat poziomu zabezpieczeń w polskim internecie. Artykuł oczywiście do dziś nie powstał, początkowo głównie z braku dostatecznej ilości materiałów. Z pomocą nieoczekiwanie i trochę niechcący przyszedł mi Roy, kiedy na stronie jednego z wrocławskich sklepów wysyłkowych objawił mu się duży i paskudny błąd MySQL zaraz po tym, jak przerobił trochę URL strony z listą produktów.

Kiedy była już motywacja i był już obiekt, wystarczyło przeprowadzić proof of concept, czyli modelowy atak SQL injection. Nie było to specjalnie wymagającym zaangażowania intelektualnego zajęciem, jako że serwer produkcyjny okazał się tak miły i wyświetlił mi całe zapytanie. Wiadomo więc, w jakim kontekście wstawiane są zmienne, wiadomo też, że brakuje jakiegokolwiek sprawdzania, czy zmienne są liczbami. Hulaj dusza, piekła nie ma. Najdłuższą, bo dziesięciominutową chwilę poświęcić trzeba było jeszcze na odgadnięcie nazwy tabeli z listą klientów i już proof of concept był gotowy.

Miast towarów, katalog sklepowy uraczył mnie listą loginów i haseł swoich podopiecznych, nie omieszkał podać też ich adresów email, na wypadek gdybym zapragnął oddać się uciechom korespondencji. Jednak nie zajmuję się zawodowo wysyłaniem niezamówionej poczty o charakterze komercyjnym, toteż pierwszy mój mail trafił był do nikogo innego, jak do samego biura mojej ofiary. Poruszenia wielkiego nie wywołałem, bo odpowiedzi nawet śladu na horyzoncie nie było znać. Odczekałem swoje, moje poirytowanie typowo polskim “olewactwem” sięgnęło zenitu i wykonałem strategiczny w założeniach telefon z zamiarem namierzenia OsobyKompetentnej™. Mój zapał ostudził szybko jeden z wzorcowo wręcz wyszkolonych telemarketerów:

- Dzień dobry, dzwonię w sprawie bezpieczeństwa Państwa danych, czy mój email dotarł?
- Dzień dobry, dzisiaj akurat nie ma tego pana, który czyta pocztę, proszę spróbować jutro.

Po tych słowy, moje bezgraniczne już zaufanie do rzeczonej firmy urosło jeszcze bardziej. Mógł chociaż zaimprowizować, że im serwer nie działa (co byłoby bliższe prawdy niż mógłby przypuszczać). Doceniłem jednak jego szczerość i odczekałem 24 godziny kwarantanny. Z błogiego stanu oczekiwania niespodziewanie wyrwało mnie… nic. Zadzwoniłem drugi raz. Spłoszona pani telefonistka na dźwięk złowieszczego słowa “serwer” natychmiast zaoferowała przełączenie do szefa. Nie odmówiłem, bo nie miałem okazji, ust nie zdążyłem otworzyć zanim w słuchawce zabrzmiała tandetna melodyjka, ulubione narzędzie tortur w rękach wszelakich posiadaczy infolinii, w tym moich i moich współpracowników. Marsz ów żałobny zakończył się nadspodziewanie szybko, a i głos rozmówcy świadczył, że całkowicie bez odzewu mój email nie przeszedł. Konwersacja specjalnie długo nie trwała, jednak zdołałem się dowiedzieć, że oni dowiedzieć się nie zdołali. Nadal nie wiedzą, co to za błąd.

Kolejny dzień zastał mnie nieco zaskoczonego, bo oto przedmiot moich badań nie działa. Niebiosa runęły, świat legł w gruzach, wyłączyli sklep. Informator pod telefonem udziela jedynie enigmatycznych informacji o tym, że “prace trwają”. Na email otrzymałem odpowiedź, która niemal pozbawiła mnie żuchwy. Jak się okazało, brygada informatyków z zapałem instalowała w tym czasie wszelakie technologie kryptograficzne dostępne na rynku, serwer zyskał wsparcie SSL, a ja mogłem czuć się spokojniej… oglądając te same dane klientów, tym razem po szyfrowanym łączu. Najtrafniej skomentował to Roy, powiedział tylko “nie ma to jak wstawianie dodatkowych zamków do drzwi, kiedy mieszkasz na parterze i masz wybite okno do salonu”. Serwer powrócił po kilkunastu minutach od mojego telefonu, w całej krasie prezentując… kod źródłowy plików PHP. Widocznie poczuli się tak bezpiecznie z nowymi zabawkami, że nie uznali za konieczne parsowania skryptów. Byłem więc chyba jedynym klientem w historii informatyki, który patrząc na wyczyny dziarskiej grupy do spraw zabezpieczeń, wysłał kolejny email do firmy, tym razem dołączając… poprawiony kod źródłowy ich sklepu. Tego się nie spodziewali, ten fakt nimi wstrząsnął, to wbiło ich w ziemię, to sprawiło, że… postanowili znaleźć swoje rozwiązanie. Znaleźli więc miejsce, które poprawiłem, usunęli dodane przeze mnie apostrofy dookoła wstawianych z kodu zmiennych i napisali sobie funkcję, która wyszukuje kawałki kodu SQL. Gorzej, że nie te, co trzeba. Kolejny mail, w końcu użyli mojego kodu, albo sami zrobili coś identycznego. Spokój. Oczywiście kontakt się urwał.

W międzyczasie przetestowałem pod tym samym kątem około trzydziestu innych serwisów internetowych. Kryterium podstawowe: polski serwis, musi zawierać jakąś bazę klientów. Około jednej trzeciej z nich, bo dokładnie dziesięć serwisów zawierało dziury pozwalające obejrzeć sobie dokładnie listę klientów. Oczywiście ilość przechowywanych danych była różna, część posiadała tylko login i hasło, część adres email, niektóre pełny adres domowy razem z telefonem. Był tylko jeden serwis, strona poświęcona mechanice samochodowej, której nie udało mi się zmusić do wyświetlenia listy, za to bez problemu można było zalogować się na każdego z klientów nie znająć jego hasła. To wszystko na wyciągnięcie ręki, wystarczyło zmienić adres URL w oknie przeglądarki. Zdążyłem już nawet przygotować standardowy mail do administratora, grzecznie informujący o usterce i podający sposób załatania, a jednocześnie zdecydowanie sugerujący, że w razie niezałatania zastrzegam sobie prawo do powiadomienia klientów. Możecie wierzyć lub nie, ale większość z usterek została załatana w ciągu 24 godzin. Jest tylko jeden serwis, który do dziś jest dziurawy jak sito i którego administracja nie była łaskawa do teraz odpowiedzieć na moje emaile. Przykre jest to o tyle, że jego klienci stanowili jedną z najliczniejszych grup pośród moich ofiar. A stroną tą jest Aleja handlowa, site który nie był w stanie zdobyć się na coś tak idiotycznego jak korespondencja ze mną (w końcu jak ufać komuś, kto nie chce w zamian pieniędzy?), przez co do dziś udostępniają dane tych, którzy im zaufali, trzeba tylko wiedzieć, jak o nie spytać…