Durante il controllo di alcuni log di errori per il nostro sito, ho notato una richiesta strana che ha fornito molti parametri che non usiamo:
'q' => 'die(\'z!a\'.\'x\');',
'w' => 'die(\'z!a\'.\'x\');',
'e' => 'die(\'z!a\'.\'x\');',
'r' => 'die(\'z!a\'.\'x\');',
't' => 'die(\'z!a\'.\'x\');',
'y' => 'die(\'z!a\'.\'x\');',
'u' => 'die(\'z!a\'.\'x\');',
'i' => 'die(\'z!a\'.\'x\');',
'o' => 'die(\'z!a\'.\'x\');',
'p' => 'die(\'z!a\'.\'x\');',
'a' => 'die(\'z!a\'.\'x\');',
's' => 'die(\'z!a\'.\'x\');',
'd' => 'die(\'z!a\'.\'x\');',
'f' => 'die(\'z!a\'.\'x\');',
'g' => 'die(\'z!a\'.\'x\');',
'h' => 'die(\'z!a\'.\'x\');',
'j' => 'die(\'z!a\'.\'x\');',
'k' => 'die(\'z!a\'.\'x\');',
'l' => 'die(\'z!a\'.\'x\');',
'z' => 'die(\'z!a\'.\'x\');',
'x' => 'die(\'z!a\'.\'x\');',
'c' => 'die(\'z!a\'.\'x\');',
'v' => 'die(\'z!a\'.\'x\');',
'b' => 'die(\'z!a\'.\'x\');',
'n' => 'die(\'z!a\'.\'x\');',
'm' => 'die(\'z!a\'.\'x\');',
'eval' => 'die(\'z!a\'.\'x\');',
'enter' => 'die(\'z!a\'.\'x\');',
'cmd' => 'die(\'z!a\'.\'x\');',
(Other valid parameters redacted)
Ho due domande su questi parametri:
-
Questa richiesta sembra essere parte di un tentativo di scripting per determinare se il nostro codice esegue un% di
eval()
PHP sui parametri forniti. C'è qualcosa di speciale nella stringaz!ax
? (Inoltre, ovviamente, essendo una stringa che lo script può cercare nella risposta del server) -
A tua conoscenza, questo attacco / test appartiene a una batteria più grande di attacchi noti? Se è così, mi piacerebbe eseguire gli stessi test sulla nostra applicazione per identificare eventuali altri punti deboli che l'autore dell'attacco potrebbe aver identificato.