Назад | Перейти на главную страницу

Проверьте, разрешены ли и включены ли методы HTTP на локальном хосте

Я использую Apache / 2.2.15 (Unix) в системе RHEL. Моя ЛАМПА работает на локальном хосте.

Я хочу проверить, используются ли методы HTTP:

разрешены и включены.

Я читал, что их можно проверить с помощью netcat или telnet https://www.owasp.org/index.php/Test_HTTP_Methods_(OTG-CONFIG-006)

Когда я пробую netcat, я получаю следующее:

[root@joseph ~]# nc localhost 80
OPTIONS / HTTP/1.1
HTTP/1.1 400 Bad Request
Date: Fri, 15 Sep 2017 20:17:12 GMT
Server: Apache/2.2.15 (Red Hat)
Content-Length: 302
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not     understand.<br />
</p>
<hr>
<address>Apache/2.2.15 (Red Hat) Server at 127.0.0.1 Port 80</address>
</body></html>

Когда я пытаюсь использовать telnet, я получаю следующее:

[root@joseph ~]# telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
OPTIONS / HTTP/1.0
Host localhost

HTTP/1.1 400 Bad Request
Date: Fri, 15 Sep 2017 19:48:30 GMT
Server: Apache/2.2.15 (Red Hat)
Content-Length: 302
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not     understand.<br />
</p>
<hr>
<address>Apache/2.2.15 (Red Hat) Server at 127.0.0.1 Port 80</address>
</body></html>
Connection closed by foreign host.

Я понимаю, что получение сообщения «400 Bad Request» может быть связано с неправильным синтаксисом. https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Но когда я просто отправляю команды telnet или netcat, как это могло быть?

Ни твой nc попытка ни ваша telnet попытка предоставила действительный HTTP Host заголовок запроса. Запрещается отправлять запрос HTTP / 1.1 без этого заголовка, и такие запросы должны быть отклонены с ответом 400 Bad Request.

В первом случае он отсутствовал, а во втором действительно имел неправильную форму.

Этот заголовок должен был выглядеть так:

Host: localhost