информационная безопасность
без паники и всерьез
 подробно о проекте
Spanning Tree Protocol: недокументированное применениеПортрет посетителяЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Хакеры начали эксплуатировать критическую... 
 Критическая уязвимость UEFI позволяет... 
 Японский хостинг попросил клиентов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Совет дилетанта. 29.11.01 11:00  Число просмотров: 1148
Автор: 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





Рейтинг@Mail.ru


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