19:10
6/4/2010

Exploit na PHP [0day]

Brzmi groźnie, ale na szczęście błąd dotyczy tylko PHP 6.0 dev, a kod upublicznionego exploita działa na Windows. Mimo wszystko, błąd zdecydowanie warty odnotowania — szczegóły poniżej:

PHP 0day exploit

Błąd typu buffer overflow znajduje się w funkcji str_transliterate(). W poniższym przykładzie za jego pomocą exploit wywołuje WinExec i uruchamia niegroźny program: kalkulator.

PHP 6 exploit w akcji

Aby exploit działał, unicode.semantic musi być włączony. Kod exploita, czyli skrypt php znajdziecie tutaj, a stąd możecie pobrać podatną na atak wersję PHP, gotową do instalacji.

Fuzzer PHP

Błąd odkrył lilxam, który wraz z exploitem na funkcję str_transliterate() udostępnili także fuzzera PHP będącego pomocnym narzędziem do znajdowania podobnych błędów.

P.S. Gdyby ktoś był spragniony błedów w PHP to warto zacytować odnalezioną niedawno słabość w algorytmie generowania SSID. Przykładowy scenariusz ataku tutaj.

Przeczytaj także:

4 komentarzy

Dodaj komentarz
  1. Fajnie, że informujecie, ale mogliście dać trochę mniej “ofensywny” tytuł, bo ten jest lekko niewspółmierny do poziomu znaleziska.

  2. @TomaszKowalczyk przecież w pierwszym zdaniu jak byk stoi “Brzmi groźnie, ale na szczęście błąd dotyczy tylko PHP 6.0 dev”

  3. Drobna uwaga. Nie chlopaki z Nullbyte.org.il a lilxam ( http://lilxam.tuxfamily.org/blog/?p=302&lang=en ) odkryl blad i udostepnil fuzzer.

  4. @Iwanienko: W moim komentarzu jak byk stoi, że mam na myśli tytuł. Ktoś kto przeczyta całość dowie się wszystkiego, więc nie krytykuję samego artykułu, ale ktoś kto zatrzyma się na tytule będzie miał już nieco inny obraz sytuacji. Zresztą, bez flame’a – ważne, że zostanie załatane i po sprawie. ;]

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: