информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Сетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Совет дилетанта. 29.11.01 11:00  Число просмотров: 915
Автор: Chingachguk <Chingachguk> Статус: Member
<"чистая" ссылка>
> Стоит задача написать прогу, либо сервис под W2K сидящюю на
> всех портах и выдающюю предупреждение, когда кто либо из
> вне по ним лезет.

Сразу скажу, что это общий треп, ибо под виндой c vxd
и битовой картой портов я ниче не делал - тока в
в своем супервизоре. ;(

Наскока я знаю, стандартно задача грузиться виндой с определенной
картой портов(битовая массива длиной до 64 килобит). Некотрые
порта там стоят в состоянии "Запрещено", те при обращении
к ним возникает исключение, если текущий уровень задачи меньше
IOPL. Вроде как запрещенными являются порты винта и др.

Если задача хочет все же работать с портами, то ей нужна ф-ция
какой-либо vxd, которая регистрится и имеет права на эти порты.

Пусть у нас нет прав на какой-либо порт. Мы ломимся за ним в эту
vxd - а в vxd явно имеет права на редактирование tss задачи этой,
ибо правей у нее больше, может, даже у нее IOPL = 0.
Узнать tss задачи vxd может через стек. Вроде в ней же валяется эта
битовая карта этой задачи, или где-то рядом.

Затем в те порта (биты в портовой карте) можно прописать, к примеру,
что порт такой-то у этой задачи НЕ ИМЕЕТ ПРАВА обращения - и все,
задача будет давать exception при обращении к этому порту.

Ну и так далее...
<programming>
[Win32] Подскажите как сесть на порты (обновление 2) 29.11.01 09:59  
Автор: PS <PS> Статус: Elderman
Отредактировано 29.11.01 11:59  Количество правок: 2
<"чистая" ссылка>
Стоит задача написать прогу, либо сервис под W2K сидящюю на всех портах и выдающюю предупреждение, когда кто либо из вне по ним лезет. После пользователь решает дать запросу идти в сервис или нет.
Вопрос как это сделать ? Принцип нужон.

Айай ! Подумал и решил, что совсем не корректно вопрос поставил.
Мне нужны не системные порты, а сокетные (богатый английский язык).
Вообщем куда копать, что бы все пакеты из сетевухи попадали сначала ко мне, а потом уже шли (или не шли) куда положенно.

И вообще у меня возник такой вопрос: а что реально происходит когда я открываю сокет ?
Моя мысль такая (имхо): существует извесный системе сервис (типа TCP/IP service), которому идет запрос на заведение сокета. Туда же должно передаватся некая точка входа в моей проге.
Теперь пришел TCP/IP пакет, который попал в сервис. Тот смотрит, ага порт такой-то, посмотрим в своих списках, кто у нас открыл этот порт. Ага, есть такая прога, вот ее точка входа. Вызывает какую-то ф-ю (мною не реализованая, но как то связаная с select) и передает ей пакет (или его часть)...
Я прав или нет ? Кто может реально описать что происходит в системе ? В MSDN ничего нет, там только как пользовать, а это я и так знаю.
[Win32] Совет дилетанта. 29.11.01 11:00  
Автор: Chingachguk <Chingachguk> Статус: Member
<"чистая" ссылка>
> Стоит задача написать прогу, либо сервис под W2K сидящюю на
> всех портах и выдающюю предупреждение, когда кто либо из
> вне по ним лезет.

Сразу скажу, что это общий треп, ибо под виндой c vxd
и битовой картой портов я ниче не делал - тока в
в своем супервизоре. ;(

Наскока я знаю, стандартно задача грузиться виндой с определенной
картой портов(битовая массива длиной до 64 килобит). Некотрые
порта там стоят в состоянии "Запрещено", те при обращении
к ним возникает исключение, если текущий уровень задачи меньше
IOPL. Вроде как запрещенными являются порты винта и др.

Если задача хочет все же работать с портами, то ей нужна ф-ция
какой-либо vxd, которая регистрится и имеет права на эти порты.

Пусть у нас нет прав на какой-либо порт. Мы ломимся за ним в эту
vxd - а в vxd явно имеет права на редактирование tss задачи этой,
ибо правей у нее больше, может, даже у нее IOPL = 0.
Узнать tss задачи vxd может через стек. Вроде в ней же валяется эта
битовая карта этой задачи, или где-то рядом.

Затем в те порта (биты в портовой карте) можно прописать, к примеру,
что порт такой-то у этой задачи НЕ ИМЕЕТ ПРАВА обращения - и все,
задача будет давать exception при обращении к этому порту.

Ну и так далее...
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach