Konkursy, głosowanie itp… – cz.1 – atak

Niezabezpieczone moduły do zliczania głosów, czy to w ankietach, konkursach, czy po prostu ocena danego elementu (zdjęcie, film, artykuł) może przysporzyć sporo kłopotów, nerwówki, a na pewno dużo więcej pracy. Zawsze znajdzie się ktoś, kto będzie chciał aby jego zdjęcie było lepiej oceniane niż innych, aby móc oddawać głosy częściej, aby wyprzedzić pozostałych w konkursie… aby wygrać.

Często na etapie projektowanie nie zdajemy sobie sprawy jak łatwo nasze zabezpieczenia można będzie obejść. Musimy poznać sposoby „oszukiwania”, aby dobrze zaprojektować taki mechanizm. Nie znając zagrożenia, nie będziemy wyczuleni na słabe punkty aplikacji.

Atak

  1. Czyszczenie ciastek
  2. Zmiana IP/ Proxy Switcher
  3. Spam
  4. Farmy linków
  5. Iframe/XSS-y

Czyszczenie ciastek

Zdarza się że bardzo często, że informacja o oddanym głosie wędruje do ciastka… i to jest jedyne zabezpieczenie. Czyli usuwamy ciastko – głosujemy jeszcze raz. Naprawdę spore serwisy korzystają z takiego „zabezpieczenia” :)

Zmiana adresu IP

  • jeżeli ktoś ma np. neostradę, może restartować modem dzięki czemu uzyska inny (nowy) adres IP
  • można głosować w pracy, na uczelni, w akademiku itp.
  • można korzystać z całej listy serwerów proxy

Spam

Zawsze można próbować innych metod pozyskania głosów (spam). Jest sporo możliwości:

  • komunikatory
  • email (mało skuteczne ;/ )
  • portale społecznościowe (zwłaszcza posiadające błędy np. pozwalające na masowe wysyłanie wiadomości prywatnych)
  • fora dyskusyjne
  • znajomi

Farmy linków

Jakiś czas temu przyszedł mi do głowy ciekawy pomysł. Chodzi o farmy linków, systemy wymiany linków, katalogi stron, roboty indeksujące. W przypadkach jeżeli system głosowania opiera się na zwykłym requeście do serwera, np.:
http://serwer.pl/glosuj?id=1000 to można wykorzystać właśnie taki specjalny (bezpośredni) link do oddania głosu.  Łącząc to z punktem poprzednim (spam) przyniesie na pewno spore żniwo głosów (użytkownik zagłosuje automatycznie po wejściu na tą stronę).

Iframe

Podobnie jak poprzednio. Jeżeli jesteśmy w stanie wydobyć bezpośredni link do głosowania i  mamy również np. często odwiedzaną stronę internetową, to wiedząc, że wystarczy zwykłe puknięcie do tamtego serwera, możemy umieścić taki link np. w pływającej ramce, czy np. jako źródło obrazka.

<iframe src="http://serwer.pl/glosuj?id=1000"></iframe>
<img src="http://serwer.pl/glosuj?id=1000" />

Wchodząc na naszą stronę, przeglądarka użytkownika automatycznie pobierze tamtą stronę… więc mamy kolejny głos… i kolejny… i kolejny.

Nie wspominając już o bugach w serwisach społecznościowych, gdzie np. dzięki XSS-om mamy możliwość umieszczenia właśnie takiej wstawki HTML-owej :) a co za tym idzie możemy zgarnąć kolejne głosy.

cd…