强制cURL发送无效的HTTP标头

J. *_*Doe 4 curl http

如何强制cURL发送无效的HTTP标头,如下所示:

curl -k 'https://192.168.1.1/' -H 'Host: 192.168.1.1' -H 'blah' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-US,en;q=0.8'
Run Code Online (Sandbox Code Playgroud)

当我尝试上述操作时,cURL有助于省略无效的标题.

Dan*_*erg 15

你可以,但它比那更复杂.curl会检查你是否使用冒号并避免传入没有冒号的标题.但是你可以通过传入带有嵌入式CRLF的标题来欺骗curl的冒号检查,然后创建两个标题行,然后其中一个可以没有冒号.

例如这样:

curl -H "`printf "Foo: bar\r\nblah"`" -v localhost
Run Code Online (Sandbox Code Playgroud)

(-v当然可以让你看到curl使用的实际请求)

  • 一个真正的黑客......你已经恢复了我对互联网的信心. (5认同)