ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

26.06.2008, 17:02
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
я имел ввиду проверить не на валидность, а на отсутствие вредоносного кода в нём.
тем не менее слепил вот такой говнокод, просьба помидорами не закидывать:
PHP код:
static function validateIp($ip) {
$ipData = explode('.', $ip);
if(sizeof($ipData) == 4){
for($i=0;$i<4;$i++)
if($i != 0)
$newIp .= ('.' . intval($ipData[$i]));
else
$newIp .= intval($ipData[$i]);
return $newIp;
}else
return 0;
}
|
|
|

26.06.2008, 17:04
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
Whirt
можно линк у тебя попросить. или описание)
Квест Античат
Задание -
Нужно зайти с Ip 10.10.10.10
С помощью проги - InetCrack
Последний раз редактировалось Naydav; 26.06.2008 в 17:08..
|
|
|

26.06.2008, 17:05
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
не путай с дополнительными заголовками !!!
|
|
|

26.06.2008, 17:07
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
Дикс
$text = '127.0.0.1';
if (preg_match('/^([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][
0-9]|25[0-5])(\.([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4]
[0-9]|25[0-5])){3}$/', $text))
{
echo "Address is ok!"
}
|
|
|

26.06.2008, 17:20
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
Naydav, в квесте античата надо подделать x_forwarded_for, и отношения к ip_addr это никакого не имеет. Не надо утверждать то чего не знаешь. (Кстати уже второй раз)
2Дикс, в ip_addr ты не передашь ничего кроме ип адреса. Другое дело юзер агент.
Последний раз редактировалось .Slip; 26.06.2008 в 17:23..
|
|
|

26.06.2008, 17:24
|
|
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме: 674665
Репутация:
276
|
|
.Slip, +1
Я так и сказал выше, но все же для уверенности глянул в описание InetCrack (ну мало ли ?
Программа позволяет задавать или модифицировать следующие парметры запроса:
# URL (в том числе строку запроса CGI)
# Referer
# Host
# Content-Type
# Accept-Encoding
# User-Agent
# Cookie
# Authorization
# X-Forwarded-Fornew
# Vianew
# Cache-Controlnew
|
|
|

26.06.2008, 17:32
|
|
Голос разума
Регистрация: 27.09.2006
Сообщений: 529
Провел на форуме: 1607210
Репутация:
1617
|
|
Собственно давайте поставим точку.
$_SERVER['REMOTE_ADDR'] сюда записывается IP адрес, машины которая запрашивает, скрипт, и заполняется он информацией которую передаёт вебсервер к ПХП.
Иногда допускают ошибку в кодинге, в определении IP адреса, доверяя дополнительным заголовкам HTTP_* (например HTTP_X_FORWARDED_FOR) которые МОЖНО подменить послав произвольные дынные в этом заголовке, вследствии чего даётся доступ к какой то ограниченой зоне.
Иными словами в нормальных условиях туда записать ничего НЕЛЬЗЯ, никакими заголовками. Другое дело это криворукость програмеров, допускающих, глобализацию переменных например фунциями extact,import_global_variables и др. с неверными аргументами, тогда становится возможным переопределение практически любых переменных, вследствии чего возможно внедрение вредоносного произвольных данных в переменную $_SERVER['REMOTE_ADDR'].
Всё.
__________________
Бойтесь своих желаний. Они могут исполниться....
...О-о-о-о, ушами не услышать, глазами не понять!
|
|
|

26.06.2008, 18:19
|
|
Участник форума
Регистрация: 05.12.2007
Сообщений: 113
Провел на форуме: 252598
Репутация:
34
|
|
Разве можно доверять $_server['remote_addr']?
А если в заголовке передавать неверный ip?
То и $_server['remote_addr'] - будет неверный
remote_addr берется из заголовков пакета методами php его подделать нельзя, но можно подделать ip адрес в пакете с помошью perl raw_socket (используется в Ddos ) .
в заголовках можно поделать client_ip но remote_addr от этого не изменится.
не уверен но вроде нельзя заделать ип в пакете не подходящий под формат [0-9].[0-9].[0-9].[0-9]
|
|
|

26.06.2008, 18:49
|
|
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме: 674665
Репутация:
276
|
|
Во первых, SQLHACK уже поставил жирную точку, думаю обсуждать далее бессмысленно, всем и так все ясно.
но можно подделать ip адрес в пакете с помошью perl raw_socket (используется в Ddos ) .
Ты немного не понял. Да, это возможно, например в UDP-флуде, TCP SYN флуде итд.
Т.е. там факта соединения впринципе нет, просто хост закидывается пакетами.
Когда же ты соединяешься, то сервер<-->клиент перекидывается номером последовательности (sequence number), и подтверждая тем самым подлинность соединения.
з.ы. писал по памяти, поправьте, если где ошибся 
|
|
|

26.06.2008, 19:26
|
|
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме: 4646474
Репутация:
1424
|
|
подменить можно в нескольких случаях:
а) если версия php уязвима , через массив $_GLOBALS в request
в) если в скрипте до этого используется перенос request в глобальную область, например через ф-ю extract() и тп
вобще во многих движках проверяется все равно на валид это значение.
PS хотя на счет первого сто % не скажу но вроде так было.
Последний раз редактировалось ShAnKaR; 26.06.2008 в 19:33..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|