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

Можно ли подделать IP-адрес для HTTP-запроса?

На веб-сайте, который я создаю, я планирую регистрировать IP-адреса отправленных материалов, на всякий случай. Я не против прокси, но прямая подмена вашего IP-адреса не поможет.

Требуется ли для выполнения полного действия GET (независимо от того, получили ли вы его, прошли ли оно или нет) законный IP-адрес? Или веб-сайт будет засыпан сообщениями со случайных поддельных IP-адресов?

(POST отличается?)

Нет. Ну да. Или, может быть. Это зависит от того, откуда вы получаете данные своего «IP-адреса» и доверяете ли вы им.

Если вы берете адрес из самих IP-пакетов, то вы можете быть уверены, что тот, кто отправил пакеты, имеет доступ к пакетам, отправленным на этот IP-адрес. Это может означать, что это законный пользователь этого IP-адреса (для соответственно ограниченных значений слова «законный» в наш век ботнетов, открытых прокси и Tor) или что тот, кто отправил пакеты, имеет доступ к промежуточной системе и может видеть пакеты, которые вы отправляете, по мере их прохождения.

Однако из-за широкого распространения обратных прокси-серверов IP-пакет часто может искажать источник соединения, поэтому были введены различные заголовки HTTP, чтобы позволить прокси-серверу предоставить «фактический» IP-адрес источника. Проблема здесь в том, что вы должны доверять тому, кто отправляет заголовок, в предоставлении точной информации. Кроме того, конфигурации по умолчанию (или ошибочно скопированные) могут легко сделать вас уязвимыми для подмены этих заголовков. Следовательно, вы должны определить, законно ли задействованы обратные прокси-серверы в ваших запросах, и убедиться, что они (и ваш веб-сервер) правильно настроены и защищены.

Нет.

TCP-соединения (которые использует HTTP) требуют двунаправленной связи. Хотя вы можете подменить исходный IP-адрес SYN пакет легко, SYN-ACK ответ сервера будет перенаправлен на IP-адрес, который вы подделали в исходном пакете - вы не сможете установить соединение, если не увидите ответ от сервера.

Тем не менее, инструменты анонимного прокси, такие как Tor, могут предоставить средства для простой анонимизации источника соединения - имейте в виду, что это может легко обойти контроль спама с помощью запрета IP.

Короткий ответ .. не сегодня ты не можешь.

В прошлом компьютеры были очень предсказуемы в порядковых номерах для TCP-трафика. Это означает, что злоумышленник просто отправит законный трафик, пока не выяснит порядковые номера и не сможет довольно хорошо предположить, что будет дальше. Затем он будет отправлять TCP-трафик, чтобы имитировать поддельный IP-адрес, и хост на другом конце поверит. Чтобы вы могли подделать трехстороннее рукопожатие.

Сегодня, я бы сказал, 10+ лет ... компьютеры намного лучше рандомизируют это, так что это довольно сложно, если не невозможно. На мой взгляд, это было бы пустой тратой времени для злоумышленника.

HTTP работает поверх TCP. Для того, чтобы TCP работал, вам необходимо полное трехстороннее рукопожатие SYN / ACK, прежде чем вы продвинетесь достаточно далеко, чтобы отправить запрос GET или POST, поэтому простой подделанный источник не поможет. Другие более продвинутые формы спуфинга (MitM) по-прежнему будут эффективны.