Cercando di fare una richiesta multipart postata, nginx e php restituiscono entrambi l'errore 400

0

Sto provando a usare il protocollo Chunked e il protocollo multipart in una richiesta POST, come questa

Tutti i simboli di nuova riga sono \r\n , ad es.

POST http://127.0.0.1/print.php?a=1&b=2 HTTP/1.1
accept-language: *
transfer-encoding: chunked
accept: */*
user-agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36
host: 127.0.0.1
content-type: multipart/form-data; boundary=test123;

4B
--test123
Content-Disposition: form-data; name="xxx"

123
--test123--

0

Tuttavia, quando pubblico questa richiesta su un server PHP restituisce 400 errori, il che significa che questa è una richiesta non valida.

Qualche idea? Sto semplicemente testando un metodo di bypass WAF

    
posta daisy 05.10.2017 - 10:19
fonte

1 risposta

1

Sebbene la codifica di trasferimento chunked sia definita sia per la risposta che per la richiesta nello standard HTTP / 1.1 (ma non in HTTP / 1.0), in genere viene utilizzata solo per le risposte. Non è universalmente supportato per le richieste.

Oltre a ciò la tua prima linea dovrebbe includere solo il percorso e non l'intero URL. Mentre HTTP / 1.1 (contrariamente a HTTP / 1.0) ha permesso esplicitamente l'URL completo in questo posto, molti server non lo accettano.

    
risposta data 05.10.2017 - 10:37
fonte

Leggi altre domande sui tag