Dawno nie było już nic o jakiejś nowej (lub nowo nagłośnionej) podatności dotyczącej (web)serwerów, więc chyba warto coś wspomnieć o HTTPoxy, czyli podatności dotyczącej CGI/FastCGI, o której od wczoraj jest dość głośno…
Spis treści w artykule
HTTPoxy – a CGI application vulnerability
Oczywiście – zgodnie z trendem – skoro mamy jakiś błąd, to nie mogło zabraknąć nazwy, dedykowanej strony internetowej (choć warto też zajrzeć na stronę CERTu), i oczywiście logo:
Zmienna HTTP_PROXY
Nie będę zbytnio rozpisywał się nad samy problemem, gdyż szczegółowe informacje znajdziecie na tej stronie. Ale jakieś minimum informacyjne musi być.
Problem dotyczy kodu uruchamianego jako/w ramach CGI/FastCGI, m.in. w takich językach jak PHP, Go, Python, a do tego – by skala byłą jeszcze większa – dotyczy m.in. webserwerów działających na Apache2 i Nginx. W pewnych sytuacjach – wykorzystując konflikt nazw zmiennych środowiskowych (zmienna HTTP_PROXY) może dojść do posłuchania komunikacji wychodzącej z serwera (atak MiTM).
Ale co najważniejsze – jeśli macie na serwerze zwykłą stronę internetową, to problem dotyczy Was tylko teoretycznie, bo zapewne w takiej sytuacji nie korzystacie z serwera proxy, jak i niezależnego serwera aplikacji, z którego odpowiedź za sprawą podstawionego nagłówka HTTP_PROXY trafić może do fałszywego serwera proxy:
![Źródło grafiki: Mitigating the HTTPoxy Vulnerability with NGINX](https://webinsider.pl/wp-content/uploads/2016/07/httpoxy_cgi-fastcgi-vulnerability_nginx-schemat.png)
Źródło grafiki: Mitigating the HTTPoxy Vulnerability with NGINX
No i chyba warto wspomnieć, że nie jest to nowy błąd, tylko jak to ostatnio często bywa z pewnych przyczyn dostaje drugie, lepsze życie… ;-)
Zabezpieczamy (web)serwer
Niezależnie od tego, czy w przypadku Waszego serwera jest szansa na wykonanie tego typu ataku warto się zabezpieczyć, zwłaszcza że raczej nie powinno tu być żadnych niespodziewanych efektów ubocznych.
Webserwer Apache2
W przypadku webserwera Apache2 otwieramy plik:
sudo nano /etc/apache2/apache2.conf
I dodajemy tam linijkę:
RequestHeader unset Proxy early
sudo a2enmod headers
Następnie jeszcze test konfiguracji i restart webserwera:
sudo apache2ctl configtest
sudo service apache2 restart
Webserwer Nginx
W przypadku webserwera Nginx otwieramy plik:
sudo nano /etc/nginx/fastcgi.conf
I dodajemy linijkę:
fastcgi_param HTTP_PROXY "";
sudo nano /etc/nginx/fastcgi_params
Cloudflare
Jeśli korzystacie z Cloudflare, i macie aktywny przynajmniej plan pro, to możecie aktywować filtrowanie tego typu ataków za pomocą Web Application Firewall (WAF), aktywując regułę nr 100050.
![(!) Zgłoś błąd na stronie](https://webinsider.pl/wp-content/uploads/2019/12/webinsider_zglos-blad-na-stronie_200x29_888888.png)
![Pomogłem? To może postawisz mi wirtualną kawę?](https://webinsider.pl/wp-content/uploads/2025/12/pomogle-postaw-mi-wirtualna-kawe-202308-6f4e37.png)
- Zakupy w sklepie Bambu Lab bez podatku VAT, czyli rejestracja jako B2B oraz specjalny link do specjalnego sklepu - 1970-01-01
- W Home Assistant 2024.7 w końcu można bezpośrednio z właściwości danego elementu zarządzać jego rozmiarem w cały jeszcze czas eksperymentalnym układzie „sekcje” - 1970-01-01
- Sprzedajesz drona DJI? Usuń go ze swojego konta. Kupujesz używanego drona DJI? Zadbaj, by dotychczasowy właściciel usunął go ze swojego konta! - 1970-01-01