Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

HTTPoxy – nowa podatność webowa umożliwiająca podsłuch komunikacji HTTP

19 lipca 2016, 00:31 | W biegu | komentarzy 7

Całość umożliwia atak MiTM (podsłuch komunikacji HTTP wychodzącej z serwera) i bazuje na konflikcie nazw zmiennych środowiskowych (a dokładniej zmiennej HTTP_PROXY):

RFC 3875 (CGI) puts the HTTP Proxy header from a request into an environment variable called HTTP_PROXY.

HTTP_PROXY is a popular environment variable used to configure an outgoing proxy.

info2

Źródło: nginx

Czyli jednym z warunków wstępnych jest działanie webserwera w trybie CGI (wtedy ustawiane są m.in. z request nagłówków HTTP zmienne środowiskowe – i można nagłówkiem kontrolowanym przez atakującego ustawić zmienną HTTP_PROXY, służącą również do ustalania na serwerze – proxy wychodzącego… Oczywiście nie zrobimy tego hurtem dla wszystkich procesów na danej maszynie).

Na obecną chwilę jako potencjalnie podatne wskazywane są aplikacje napisane w: PHP/Pythonie/Go.

Różni dostawcy popularnych webserwerów zaczynają już reagować na problem: (Apache, NGINX, …) – w największym skrócie:

This leads to a remotely exploitable vulnerability. If you’re running PHP or CGI, you should block the Proxy header now. Here’s how.

–ms

 

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



Komentarze

  1. RRRrrr

    „The Vend security team would like to publicly disclose a vulnerability
    we’ve **(re)discovered** in CGI and PHP web applications.”

    The original discovery in 2001 seems to have been by Randal L. Schwartz.”

    Ale fame musi być i własna strona błędu też. Śmieszne.

    Odpowiedz
    • Moim zdaniem to akurat ~gruba sprawa. A ten 2001 to nawet grubsza – bo załatali to perlu, a jakoś przesmyknęło się przez tyle lat w PHP-ie.

      Odpowiedz
  2. Michał Głuś

    Rozumiem, że Dżawki to nie dotyczy, prawda?

    Odpowiedz
  3. „you should block the Proxy header now.” – radziłbym coś bardziej uniwersalnego: zablokować (logować i alarmować) połączenia wychodzące z webserwerów do internetu – w 99% przypadków nie ma potrzeby wypuszczania takich pakietów. Minimum to drop dla pakietów SYN wysyłanych przez użytkownika z którego działa httpd (w specyficznych warunkach pewnie trzeba wypuścić TCP do serwerów DNS, z listami CRL i lokalnego mirrora uaktualnień systemu/aplikacji).

    Odpowiedz
    • Zasada sec in depth jak najbardziej.
      Ale akurat tego blokowania komunikacji wychodzącej mało co kto robi (niestety).

      + to wycinanie nagłówka jest potencjalnie (przynajmniej na początek) najmniej inwazyjne i szybkie do zrobienia.

      Odpowiedz

Odpowiedz