Можно ли подделать Request.UserHostAddress.ToString ()? asp.net 4.0 - iis 7.5

Я получаю ip посетителей этим методом Request.UserHostAddress.ToString()

Есть ли вероятность, что его можно подделать или использовать для внедрения sql. Каковы риски и возможности. Спасибо.

asp.net 4.0, C # 4.0, IIS 7.5


person MonsterMMORPG    schedule 17.11.2011    source источник


Ответы (2)


Нет. IP-адрес от сокета с веб-сервером. Его нельзя подделать (для более чем одного запроса). Если IP-адрес был подделан, клиент мог только отправить запрос на сервер и никогда не увидел бы ответа.

Я не понимаю, как его можно использовать в SQL-инъекции, даже если он был использован непосредственно в вашем операторе SQL. Это IP-адрес, даже если он поддельный, и не может быть кодом SQL.

Резюме:

Спуфинг: если пользователю нужно перемещаться по вашему сайту (сделать несколько обращений к странице). Тогда его IP-адрес должен быть правильным (не подделанным).

Внедрение: пользователь не может ввести любое значение в UserHostAddress: это должен быть IP-адрес, и поэтому он не может быть вредным, если будет введен в ваш оператор SQL.

person Eystein Bye    schedule 17.11.2011
comment
не могли бы вы предоставить ссылку на IP-адрес из сокета с веб-сервером? Мне интересно, но я ничего не могу найти. - person Barry Kaye; 11.03.2013
comment
Протокол приложения, используемый веб-серверами, - это HTTP, и он инициирует запрос, устанавливая протокол управления передачей (TCP). Вы увидите, что TCP использует трехстороннее рукопожатие для установления соединения между клиентом (браузером) и сервером. Это невозможно сделать с поддельным IP-адресом. После того, как соединение установлено, сервер знает IP-адрес клиента и отправит на него ответ (html). en.wikipedia.org/wiki/ - person Eystein Bye; 20.03.2013
comment
Вот список информации в HTTP-запросе, поскольку вы можете видеть, что IP-адреса здесь нет. В нем нет необходимости, поскольку он известен из TCP. w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14 < / а> - person Eystein Bye; 20.03.2013

Сам IP-адрес можно подделать, но это крайне маловероятно.

Его нельзя использовать для SQL-инъекций.

person ChrisBint    schedule 17.11.2011
comment
да, я использую его напрямую, как выберите или вставьте. вот почему я спрашиваю. как это можно подделать, например, удалить из ***? как это возможно = - person MonsterMMORPG; 17.11.2011
comment
В таком случае вам не о чем беспокоиться. - person ChrisBint; 17.11.2011
comment
ChrisBint: вы говорите, что его можно подделать и изменить, тогда как вы говорите, что этого не может быть. Вы действительно в этом разбираетесь? - person MonsterMMORPG; 17.11.2011
comment
Поддельный IP-адрес всегда будет только IP-адресом, поэтому, если вы используете это значение в своем SQL, все в порядке. Например, он никогда не мог быть установлен на «УДАЛИТЬ МЕНЯ». - person ChrisBint; 17.11.2011