-15% na nową książkę sekuraka: Wprowadzenie do bezpieczeństwa IT. Przy zamówieniu podaj kod: 10000

Banalny 0-day w phpMyAdminie – przy pewnych warunkach atakujący może kasować całe bazy danych

18 września 2019, 11:40 | W biegu | komentarzy 7

O problemie doniósł the Hacker News. Całość do podatność klasy CSRF (czyli zmuszenie przeglądarki ofiary do wykonania jakiejś nieautoryzowanej akcji; w naszej książce mamy cały rozdział o tym problemie):

W zasadzie widać co tutaj się dzieje. Wystarczy osadzić tego typu obrazek na jakiejś stronie (np. na sekuraku) – oraz umieścić stosowną nazwę domenową serwera (lub IP), gdzie znajduje się phpMyAdmin. Jeśli ktoś jest tam zalogowany, np. na innym tabie przeglądarki, ta ostatnia automatycznie wykona żądanie HTTP do zasobu wskazanego w src (nie jest tu nawet wymagany JavaScript). Ofiara była zalogowana, więc żądanie nie wymaga uwierzytelnienia.

–ms

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Hmm no tak ale jest to atak na przeglądarkę internetową, a nie samo phpMyAdmin rzeczy samej.

    Odpowiedz
    • Można teoretyzować, choć CSRF to klasyfikuje się jako podatność webowa.

      Odpowiedz
  2. tmk

    Skrypt php powinien sprawdzić nagłówek Referer żeby nie dopuszczać poleceń z poza domeny. Ale jak można robić takie błędy po tylu latach istnienia tego projektu.

    Trzymanie phpmyadmina na produkcyjnym serwerze w katalogu o standardowej nazwie jest proszeniem się o włamanie.

    Odpowiedz
    • Najlepiej porządna ochrona przed CSRF (tokeny), bo Referer jest dyskusyjny :-)

      Odpowiedz
  3. adrb

    „Ofiara była zalogowana, więc żądanie nie wymaga uwierzytelnienia”

    Nie „nie wymaga uwierzytelnienia” tylko zostanie uwierzytelnione

    Odpowiedz
    • Czy takie żądanie wymaga uwierzytelnienia w momencie wysłania? Nie, więc „żądanie nie wymaga uwierzytelnienia” :-)

      Odpowiedz

Odpowiedz