2015-09-11 5 views
6

Gdy wywołuję skrypt CGI (żądanie GET) za pomocą przeglądarki Chrome lub Firefox, zauważyłem w dzienniku dostępu Apache, że całkiem kilka sekund później wygenerowano żądanie HEAD i żądanie GET z tym samym identyfikatorem URI. Aby upewnić się, że nie była to szczególna cecha mojej instalacji Apache, napisałem prosty skrypt Perla i zainstalowałem go na mojej stronie internetowej ISP. Ten skrypt po prostu robi swoje własne rejestrowanie do pliku na dysku za każdym razem, gdy jest wywoływana w czasie URI, agent użytkownika, zdalnego adresu i portu:Powtórzone żądania GET są generowane kilka sekund później w przeglądarce Chrome i Firefox przez nieznanego użytkownika podczas wywoływania skryptu CGI.

#!/usr/bin/perl -wT 
use strict; 
use CGI; 

my $cgi = new CGI; 
print $cgi->header(-type=>'text/plain', -expires=>'-1d'); 
print "hello"; 

open (LOG, ">>printenv2.txt"); 
my ($sec, $min, $hr, $day, $mon, $year) = localtime; 
my $timestamp = sprintf("%02d/%02d/%04d %02d:%02d:%02d", $mon + 1, $day, 1900 + $year, $hr, $min, $sec); 
print LOG $timestamp, "\n"; 
my @keys = qw(REQUEST_METHOD REQUEST_URI HTTP_USER_AGENT REMOTE_ADDR REMOTE_PORT); 
foreach (@keys) { 
    print LOG "$_ = $ENV{$_}\n"; 
} 
print LOG "\n"; 
close LOG; 

I wywołany skrypt raz http://localhost/friends/forms/cgi/printenv2.cgi?arg=1

Skrypt był uruchamiany trzy razy, jednak ostatnie dwa uruchomienia wystąpiły ponad 14 sekund po moim pierwszym wywołaniu. Oto dane wyjściowe dziennika:

09/11/2015 19:25:26 
REQUEST_METHOD = GET 
REQUEST_URI = /friends/forms/cgi/printenv2.cgi?arg=1 
HTTP_USER_AGENT = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 
REMOTE_ADDR = 127.0.0.1 
REMOTE_PORT = 58421 

09/11/2015 19:25:40 
REQUEST_METHOD = HEAD 
REQUEST_URI = /friends/forms/cgi/printenv2.cgi?arg=1 
HTTP_USER_AGENT = Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/20.0 (Chrome) 
REMOTE_ADDR = 127.0.0.1 
REMOTE_PORT = 58428 

09/11/2015 19:25:41 
REQUEST_METHOD = GET 
REQUEST_URI = /friends/forms/cgi/printenv2.cgi?arg=1 
HTTP_USER_AGENT = Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/20.0 (Chrome) 
REMOTE_ADDR = 127.0.0.1 
REMOTE_PORT = 58440 

Jak widać, agent użytkownika powiązany z dwiema fałszywymi inwokacjami jest inny. Uruchomiłem SpyHunter, aby sprawdzić, czy mam wirusa. Próbowałem wyłączyć wszystkie rozszerzenia. Próbowałem odinstalować i ponownie zainstalować Chrome. Nic nie pomaga. Dzieje się tak tylko w przeglądarkach Chrome i Firefox - problem nie pojawia się w Internet Explorerze.

POMOC!

Odpowiedz

6

Próbowałem przeszukać cały ciąg agenta użytkownika i nie znalazłem nic. Ale teraz postanowiłem spróbować ponownie, po prostu wyszukując "Gecko/20150101" i wymyśliłem artykuł pod adresem: https://www.quppa.net/blog/2015/07/26/realplayerrealdownloader-poses-as-firefox-running-on-64-bit-linux-and-sends-head-and-get-requests/

Zainstalowałem najnowszą wersję RealPlayer (obecnie nazywaną RealTimes) i zainstalowałem Video Downloader. Jest to , a nie zainstalowane jako rozszerzenie w Chrome i Firefox, ale raczej działa jako oddzielny proces. Wyłączyłem ten "dodatek", a teraz wydaje się, że fałszywe żądania HEAD i GET zniknęły. Co oni do cholery myśleli?

+0

Dziękujemy! Ty pośrednio mi pomogłeś. Moja strona została uduszona tymi powielonymi żądaniami. Widząc, że ciąg znaków UA jest prawie niemożliwy do znalezienia na wolności (Firefox * i * Chrome?) Po prostu zbanowałem na poziomie serwera i wszystko wydaje się teraz w porządku :) –

+0

Niedawno pomagałem komuś rozwiązywać problemy z powtarzającymi się blokami przez Apache ModSecurity - RealPlayer wysyłał żądania HEAD i GET na stronę logowania do WordPressa. Wygląda na to, że łączy się z żądaniami internetowymi Google Chrome. Odinstaluj go i dodatkowe żądania zostały zatrzymane. To rozwiązało problem! –

+0

Po prostu tak się stało, było Realtimes –

Powiązane problemy