2015-09-11 5 views
6

Quando richiamo uno script CGI (richiesta GET) utilizzando Chrome o Firefox, ho notato nel log di accesso di Apache che pochi secondi dopo veniva generata una richiesta HEAD e una richiesta GET con lo stesso URI. Per essere sicuro che non fosse una peculiarità della mia configurazione di Apache, ho scritto un semplice script Perl e l'ho installato sul sito web del mio ISP. Questo script fa semplicemente di essa la propria registrazione in un file su disco ogni volta che viene invocato il tempo, l'URI, l'agente utente, l'indirizzo remoto e la porta:Richieste GET duplicate generate diversi secondi dopo in Chrome e Firefox da un agente utente sconosciuto quando viene richiamato uno script 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; 

ho invocato lo script una volta con http://localhost/friends/forms/cgi/printenv2.cgi?arg=1

Lo script è stato eseguito tre volte, tuttavia, le ultime due esecuzioni si sono verificate oltre 14 secondi dopo l'invocazione iniziale. Ecco l'output del registro:

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 

Come si può vedere l'agente utente associato con le due invocazioni spurie è diverso. Ho gestito SpyHunter per vedere se avessi un virus. Ho provato a disabilitare tutte le estensioni. Ho provato a disinstallare e reinstallare Chrome. Niente aiuta Questo si verifica solo con Chrome e Firefox: il problema non appare con Internet Explorer.

AIUTO!

risposta

6

Avevo provato a eseguire una ricerca sulla stringa dell'interfaccia utente completa e non ho trovato nulla. Ma ora ho deciso di riprovare cercando "Gecko/20150101" e ho trovato un articolo: https://www.quppa.net/blog/2015/07/26/realplayerrealdownloader-poses-as-firefox-running-on-64-bit-linux-and-sends-head-and-get-requests/

Avevo installato l'ultima versione di RealPlayer (ora chiamata RealTimes) e aveva installato un Downloader video. Questo è non installato come estensione in Chrome e Firefox, ma viene eseguito come processo separato. Ho disabilitato questo "addon" e ora le richieste di HEAD e GET spurie sembrano essere scomparse. Che diavolo stavano pensando?

+0

Grazie! Mi hai indirettamente aiutato. Il mio sito veniva martellato con queste richieste duplicate. Vedendo che la stringa UA è praticamente impossibile da trovare in natura (Firefox * e * Chrome?) L'ho appena bandita a livello di server e ora tutto sembra andare bene :) –

+0

Recentemente ho aiutato qualcuno a risolvere i blocchi ripetuti di Apache ModSecurity - RealPlayer inviava le richieste HEAD e GET a una pagina di accesso di WordPress. Sembrava essere collegato alle richieste web di Google Chrome. Lo hanno disinstallato e le richieste extra sono state interrotte. Questo ha risolto il problema! –

+0

Appena accaduto, era tempo reale –

Problemi correlati