Cosa c'è di così speciale in 'eval ("z! ax")'?

1

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:

  1. Questa richiesta sembra essere parte di un tentativo di scripting per determinare se il nostro codice esegue un% dieval() PHP sui parametri forniti. C'è qualcosa di speciale nella stringa z!ax ? (Inoltre, ovviamente, essendo una stringa che lo script può cercare nella risposta del server)

  2. 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.

posta rinogo 17.03.2018 - 22:04
fonte

0 risposte

Leggi altre domande sui tag