|
Мне всегда нравились организации, которые ставят себя профессионалами в каком-то деле, но к своим делам профессионально не относятся. Сегодня я хочу рассказать об очередном Web-портале по информационной безопасности (в прошлый раз это был securitylab.ru со своей CAPTHA от Битрикс), который по безопасности сайта не соответствует своему названию.
И это www.itsec.ru - сайт издания «Информационная безопасность». И я опять пишу про CAPTCHA. Кто-то скажет, что её безопасность не важна. Я же хочу сказать, что проект CAPTCHA создавался именно для повышения безопасности Интернет-ресурсов. Это защита от роботов, и, как следствие, от спама. А такая защита на портале безопасности, естественно, должна быть. Т.к. бардак, вызванный возможным захламлением форума и т.п.- это прямой удар по репутации издания.
Начнём.
1. Где находится CAPTCHA.
На портале www.itsec.ru этот модуль можно найти при
а. Добавлении комментария к статье.

б. Создании сообщения в форуме.

Оказалось, что данное издание выпускается компанией "Гротеск", которая содержит ещё ряд сайтов:
- Корпоративный сайт компании "Гротек" (www.groteck.ru)
- Агентство "Монитор" (www.telenews.ru)
- Системы безопасности (www.secuteck.ru)
- Broadcasting. Телевидение и радиовещание (www.broadcasting.ru)
- Информационная безопасность (www.itsec.ru)
- Каталог "Интеллектуальное здание" (www.ibuild.ru)
- И т.д.
И эта captcha используется на всех этих ресурсах. Великолепно!
2. Алгоритм.
Сначала я посмотрел URL captcha.
http://new.groteck.ru/verification-image/image_confirm.php?id=l4616f68e76af12e795d
По нему генерировалась следующая картинка:

Обновляя URL, стало понятно, что никакой защиты нет, что значение на картинки генерируется только из URL.
Следующий шаг: определить, какая часть URL используется для генерации изображения. Играемся с URL, уменьшая количество символов с конца.
http://new.groteck.ru/verification-image/image_confirm.php?id=l4616f68e76af12e
http://new.groteck.ru/verification-image/image_confirm.php?id=l4616f68e76af
http://new.groteck.ru/verification-image/image_confirm.php?id=l4616f68e79
http://new.groteck.ru/verification-image/image_confirm.php?id=l4616f68e7
В итоге получаем одно и тоже

Но вот мы дошли до следующего URL:
http://new.groteck.ru/verification-image/image_confirm.php?id=l4616f
Меняем 6-й знак после id с f на 1.
Получаем:

Т.е. это URL и есть контрольный код, с помощью которого генерируется изображение. Случай очень простой. 6 знаков в id и 6 символов на графическом отображении. Причём изменение n-го символа в id меняет n-й символ на рисунке. Осталось определить алгоритм или таблицу соответствия.
Начнём с 6-го символа простым подбором.
http://new.groteck.ru/verification-image/image_confirm.php?id=l46161

http://new.groteck.ru/verification-image/image_confirm.php?id=l46162

http://new.groteck.ru/verification-image/image_confirm.php?id=l46163

Нда. Я думал, что будет сложнее. Понятна логика? Проверим мои подозрения:
http://new.groteck.ru/verification-image/image_confirm.php?id=l46169

А если так:
http://new.groteck.ru/verification-image/image_confirm.php?id=l46160
http://new.groteck.ru/verification-image/image_confirm.php?id=l4616h
http://new.groteck.ru/verification-image/image_confirm.php?id=l4616m
то результат один и тот же:

Т.е. для 6-го графического элемента имеет значение 6-й знак в id. А именно: если это цифры от 1 до 9, то значение графического элемента равно латинским буквам от B до J. А во всех остальных случаях значение будет А.
Этим же способом определяем таблицу для каждого символа.
Приведу конечный результат:
| № символа |
значение в ID |
графическое значение |
| 6 |
1 |
B |
| |
2 |
C |
| |
3 |
D |
| |
4 |
E |
| |
5 |
F |
| |
6 |
G |
| |
7 |
H |
| |
8 |
I |
| |
9 |
J |
| |
всё остальное |
A |
| 5 |
1 |
Z |
| |
2 |
1 |
| |
3 |
2 |
| |
4 |
3 |
| |
5 |
4 |
| |
6 |
5 |
| |
7 |
6 |
| |
8 |
7 |
| |
9 |
8 |
| |
всё остальное |
Y |
| 4 |
1 |
T |
| |
2 |
U |
| |
3 |
V |
| |
4 |
W |
| |
5 |
X |
| |
6 |
Y |
| |
7 |
Z |
| |
8 |
1 |
| |
9 |
2 |
| |
всё остальное |
S |
| 3 |
1 |
N |
| |
2 |
O |
| |
3 |
P |
| |
4 |
Q |
| |
5 |
R |
| |
6 |
S |
| |
7 |
T |
| |
8 |
U |
| |
9 |
V |
| |
всё остальное |
M |
| 2 |
1 |
H |
| |
2 |
I |
| |
3 |
J |
| |
4 |
K |
| |
5 |
L |
| |
6 |
M |
| |
7 |
N |
| |
8 |
O |
| |
9 |
P |
| |
всё остальное |
G |
| 1 |
1 |
B |
| |
2 |
C |
| |
3 |
D |
| |
4 |
E |
| |
5 |
F |
| |
6 |
G |
| |
7 |
H |
| |
8 |
I |
| |
9 |
J |
| |
всё остальное |
A |
Итог
Если вы - издание, которое пишет о безопасности, то в первую очередь надо подумать о собственной безопасности. Сомнительное удовольствие читать советы от издательства, которое на своём портале не может применить более новые методы создания CAPTCHA, которым уже больше года. Ведь превращение ресурса в помойку – это явно не плюс для репутации.
|