Mam problem z pewnym logiem https://:0/

0

Od jakiegoś czasu na serwerze pluje dziwnym errorem, jakiś haker próbuje mnie przejąć :)

/var/www/html/admin.xxx.com/vendor/symfony/symfony/src" while reading response header from upstream, client: 152.32.249.159, server: admin.xxx.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.4-fpm.sock:", host: "${ip}:${port}"

oraz kolejny log, który wywala mi do Slack, gdy są 500:



Exception (500 CRITICAL)
Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalThrowableError: "Call to a member function set() on null" at /var/www/html/admin.xxx.com/src/AppBundle/xxx/xxxKernel.php line 39

URI
GET https://:0/

IP address
152.32.249.159 (curl/7.64.1)

w linii owego kernela jest

$request->getSession()->set('_locale', $defaultLocale);

Zatem podsumowując, jest wykonany jakiś request do mojego serwera (albo co gorsza z wewnątrz serwera), pod adres https://:0/, gdzie wywala error 500 bo sesja nie istnieje (getSession() jest null).

Jak to ugryźć i znaleźć skąd to przychodzi, zazwyczaj jak są błędne requesty, to jest w URI napisany pełny adres admin.xxx.com, a tutaj jest https://:0/.
Próbuję to zreprodukować, by identyczny log uzyskać, ale bezskutecznie.

Ktoś ma jakiś pomysł?

0
curl -H "Host: :0" ... 

jeden serwer moze obslugiwać wiele domen w zależności od konfiguracji te "inne" domeny muszę gdzieś trafić i akurat trafiają do Twojego skryptu

0

Ok, czyli ktoś skonfigurował sobie domenę pod IP adres mojego serwera, pytanie czy dostał bezpośrednie IP, czy leci przez CloudFlare, bo kiedy ja próbuje tak zrobić, to mnie CF blokuje. Za każdym razem jest to inny adres IP z Azji.

0

Raczej ktoś tylko testuje twój IP !

NIe trzeba skonfigurować domeny wystarczy spreparować nagłówki HTTP , podalem Ci przyklad jak to zrobic w CURL.
NIe ma takiej domeny ":0"

0

Zmieniłeś hosta, ale co dalej, bo sudo curl -H "Host: :0" [ipaddress] nie reprodukuje tego błędu. W przypadku podania ip adresu serwera wyskakuje po prostu nginx 400 bad request, a w przypadku CF cloudflare 400 bad request

0

Chyba ślepy trop !
Eksperymentalnie spreparował bym zapytanie gdzie host jest NULL bo w sumie tekst ":0" może być wynikiem tego że nazwa hosta jest błędna.
Ideałem było by posłuchanie nieszyfrowanej transmisji tego hosta ale nie zawsze można to zrobić

0

Mam dodatkowy log (dump $_SERVER)

{"USER":"www-data","HOME":"\/var\/www","HTTP_ACCEPT":"*\/*","HTTP_USER_AGENT":"curl\/7.64.1","HTTP_HOST":"${ip}:${port}","SCRIPT_FILENAME":"\/var\/www\/html\/admin.xxx.com\/web\/app.php","REDIRECT_STATUS":"200","SERVER_NAME":"admin.xxx.com","SERVER_PORT":"443","SERVER_ADDR":"xxx","REMOTE_PORT":"39890","REMOTE_ADDR":"51.159.168.106","SERVER_SOFTWARE":"nginx\/1.14.2","GATEWAY_INTERFACE":"CGI\/1.1","HTTPS":"on","REQUEST_SCHEME":"https","SERVER_PROTOCOL":"HTTP\/1.1","DOCUMENT_ROOT":"\/var\/www\/html\/admin.xxx.com\/web","DOCUMENT_URI":"\/app.php\/\/","REQUEST_URI":"\/","SCRIPT_NAME":"\/app.php","CONTENT_LENGTH":"","CONTENT_TYPE":"","REQUEST_METHOD":"GET","QUERY_STRING":"","FCGI_ROLE":"RESPONDER","PHP_SELF":"\/app.php","REQUEST_TIME_FLOAT":1658311844.541681,"REQUEST_TIME":1658311844}

1 użytkowników online, w tym zalogowanych: 0, gości: 1