Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   IP-spoofing на PHP (https://forum.antichat.xyz/showthread.php?t=109189)

Pashkela 04.03.2009 16:11

IP-spoofing на PHP
 
Статья:

http://www.astahost.com/info.php/hackers-view-easy-spoofing-ip-address_t13807.html

код, написанный на основании этой статьи:

PHP код:

<? 
 
@set_time_limit(0); 
 @
ini_set("display_errors","1"); 
 
$hostname gethostbyname('2ip.ru'); 

  
$responce ""
  
$fsock    fsockopen($hostname,80,$errnum,$errstr,2); 
  
$headers  "GET http://2ip.ru/ HTTP/1.1\n"
  
$headers .= "Host: 2ip.ru\n"
  
$headers .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\n"
  
$headers .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\n"
  
$headers .= "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\n"
  
$headers .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\n"
  
$headers .= "X-Forwarded-For: 44.55.66.77\n";
  
$headers .= "Pragma: no-cache\n";
  
$headers .= "Referer: http://www.xakep.ru\n";
  
$headers .= "Keep-Alive: 500\n"
  
$headers .= "Connection: close\n"
  
$headers .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n"
  
fwrite   ($fsock,$headers); 
  while    (!
feof($fsock)) $responce .= fread($fsock,1024);  
  echo 
$responce;
?>

ключевая строчка здесь - это

PHP код:

$headers .= "X-Forwarded-For: 44.55.66.77\n"

и даже 2ip.ru на эдакую хрень выдал вот что:

Результат выполнения кода:

http://s55.radikal.ru/i148/0903/a5/9e50cfa89fbd.jpg

44.55.66.77 - это просто циферьки от балды, если кто не понял.

BlackSun 04.03.2009 16:12

Это не ip-spoofing.

SVAROG 04.03.2009 16:22

Цитата:

IP-спуфинг (от англ. spoof — мистификация) —
Вид хакерской атаки, заключающийся в использовании чужого IP-адреса с целью обмана системы безопасности.
Метод, используемый в некоторых атаках. Состоит в проставлении в поле обратного (source) адреса IP-пакета неверного адреса. Применяется с целью сокрытия истинного адреса атакующего, с целью вызвать ответный пакет на нужный адрес и с иными целями.
он же обманывет ту систему заставляя её думать что это его ИП, так что спуфингом это можно назвать

Pashkela 04.03.2009 16:24

2 BlackSun:

А что же это еще?:))))

вот зашел ЭТИМ же скриптом на СВОЙ снифак от Kanick:

http://s49.radikal.ru/i126/0903/90/43773c359ba6.jpg

по моему строчка

PHP код:

Real IP44.55.66.77 

более чем красноречива:)

BlackSun 04.03.2009 16:24

Цитата:

Сообщение от SVAROG
он же обманывет ту систему заставляя её думать что это его ИП, так что спуфингом это можно назвать

IP-spoofing это подмена адреса отправителя в заголовках TCP, UDP пакетов, а X-Forwarded-For в хидере http пакета - всего-лишь одно из полей, юзаемое не анонимными проксями для указания действительного адреса пользователя. Если бы благодаря этому полю перезаписывалось значение в REMOTE_ADDR, то да, это был бы спуфинг.

BlackSun 04.03.2009 16:27

Цитата:

Сообщение от Pashkela
2 BlackSun:

А что же это еще?:))))

вот зашел ЭТИМ же скриптом на СВОЙ снифак от Kanick:

http://s49.radikal.ru/i126/0903/90/43773c359ba6.jpg

по моему строчка

PHP код:

Real IP44.55.66.77 

более чем красноречива:)

Сорец смотрел? Там примерно следующее:
PHP код:

if (isset($_SERVER['X-Forwarded-For']))
{
  
$proxy $_SERVER['REMOTE_ADDR'];
  
$ip $_SERVER['X-Forwarded-For'];
} else
{
  
$proxy null;
  
$ip $_SERVER['REMOTE_ADDR'];


А X-Forwarded-For юзают далеко не всегда.

Pashkela 04.03.2009 16:28

Да, но откуда у меня ощущение, что гугл это схавает, если делать множество запросов и попытаться избежать бана?:)

Я не спорю, это не вот прямо полноценный спуфинг, но в некоторых случаях просто незаменим, потому что таки все привыкли считать, если есть X-Forwarded-For, то первый IP - прокси, а X-Forwarded-For - таки реальный IP, думается мне на этом построена система идентификации много, я бы даже сказал очень много где:)))

Ну в общем сами думайте, а я тоже пойду еще чонить придумаю

AkyHa_MaTaTa 04.03.2009 16:30

Это бага кодеров которые слишком доверяют X заголовкам HTTP, есть еще и HTTP_X_REAL_IP, в движке IPB есть ксати код который имено проверяет эти заголовки, если их нет то уже использует REMOTE_ADDR или HTTP_FROM которые для нельзя перезаписать.

Pashkela 04.03.2009 16:34

Да взять тот же снифер от Каника уважаемого - какой IP вы бы сами посчитали реальным? Думается мне на первый бы даже не посмотрели:)

.:EnoT:. 04.03.2009 16:43

Абалдеть...называется "учим http протокол вместе"
Pashkela, ты только сегодня узнал, что X-Forwarded-For можно подделать? Ни один нормальный сайт не будет определять ip из http-заголовков. Хотя бывают хостинги, где REMOTE_ADDR по умолчанию пустой, а IP хранится в X-Forwarded-For.
Это не IP спуфинг а хня...в общем неуважуха, и незачёт...
P.S. Следующая статья будет "Спуфинг Юзер-агента"?

Pashkela 04.03.2009 16:59

В некоторых случаях, для разработок СВОИХ проектов, это может быть полезно, например, на одном форуме задали такой вопрос:

Цитата:

К примеру есть некий сервер который при обращении на него скриптом генерирует временную ссылку, это ссылка доступна только из ip который обратился за ней.
Но задача следующая, .. есть другой сервер (плохой) :) на который зашел юзер, вот ему(серверу) нужно получить ссылку и отдать ее юзеру.
За любые подсказки буду признателен.
Сабж выложен в разделе кодинг, а не в разделе уязвимости, вы слишком однобоко смотрите на вопросы в принципе, так что незачет и вам:)

ЗЫЖ Так что это именно один из методов ip-спуфинга, чтобы вы там себе не думали.

ettee 04.03.2009 19:10

Выше сказанное относится к классу Insufficient Process Validation, что является индивидуальной проблемой распространяемого ПО, и не умеет абсолютно никакого отношение к работе IP протокола (так и к Smurf, Spoofing атакам). К сожалению (а может и к счастью) в наше время уделяется совсем мало внимания дополнительным http-заголовкам, а зачастую используется метод "черных" списков которые не в состоянии полностью следить за "легитимным" трафиком, что и приводит к таким конфузам.

desTiny 04.03.2009 19:34

https://forum.antichat.ru/threadnav47951-1-10.html
:)

mr.The 04.03.2009 19:44

Баян.. Ещё я когда-то в своём сжимающем php прокси делал такую фичу..
В этом заголовке можно любые данные передавать. Я таким образом нашел на несколькох сайтах xss и sql-inj )

А вообще советую почитать спецификацию http протокола. Очень интересно


Время: 01:35