Меню сайта

Библиотека

Icam - 608 Part6 Хакинг3
Описание Закрываем ещё одну уязвимость
Очередная уязвимость - клик

Описание:
Очередная очень не приятная уязвимость:
Уязвимость позволяет удаленному злоумышленнику, не прошедшему проверку подлинности, раскрывать содержимое файла. Поскольку большинство встроенных устройств не запускают демон SQL (или SQL-подобных), учетные данные для аутентификации хранятся внутри файла, к которому осуществляется доступ. Благодаря этой атаке злоумышленник может просмотреть учетные данные, необходимые для доступа к устройству.

Уязвимость «/» доступа к раскрытию информации о файлах датируется 2004 годом, http://aluigi.alterv.....dv/goahead-adv2.txt, но не ясно когда GoAhead исправил ее - в любом случае она все еще присутствует в 2017 году на устройствах, которые используют сервер GoAhead.
GoAhead утверждает, что уязвимость не в его продукте, а скорее в коде поставщика камеры.

Сведения об уязвимости:
Уязвимость вызвана отправкой неверного запроса на веб-сервер. Вы можете увидеть разницу между обычным запросом и запросом на запуск уязвимости:
Нормальный ответ:
Код:
$ echo -e "GET /login.cgi n " | nc 192.168.88.131 81
nc: using stream socket
HTTP/1.1 401 Unauthorized
Server: GoAhead-Webs
Date: Sun Feb 19 12:59:31 2017
WWW-Authenticate: Digest realm="GoAhead", domain=":81",qop="auth", nonce="ecfe10f4065c572c386bf68494d0c15a", opaque="5ccc069c403ebaf9f0171e9517f40e41",algorithm="MD5", stale="FALSE"
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html

<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: Unauthorized</h2>
<p>Access to this document requires a User ID</p></body></html>


А это ответ с уязвимостью:
Код:
$ echo -e "GET login.cgi n " | nc 192.168.88.131 81
nc: using stream socket
HTTP/1.1 200 OK
Date: Sun Feb 19 12:59:36 2017
Server: GoAhead-Webs
Last-modified: Thu Jan 1 00:00:00 1970
Content-type: text/html
Cache-Control:no-cache
Content-length: 77
Connection: close

var loginuser="admin";

var loginpass="xxxx";

var pri=255;


Как видно: запрос без "/" обходит http авторизацию, и показывает login.cgi (где хранится пароль) открытым текстом Smile

Устранение
Чтобы устранить эту уязвимость нужно не хило переписать код софта ипкамеры. Китайцы этого ясен пень, делать не будут, а самостоятельно это сделать просто не реально.
Но прикрывать эту дыру всё-же надо, я предлагаю не скрывать login.cgi, а немного подправить сам cgi - запрос.
В коде encoder есть таблица доступных cgi-запросов, вот как раз там мы и будем править. Можно вообще изменить сделать не login.cgi а к примеру xxxxx.cgi но это потребует вносить изменения и в html-файлы веб-морды.
Мы сделаем проще: исправим на /login.cgi Да-да просто спереди добавим - /
Этот финт никак не повлияет, на файлы веб-морды(она будет работать как и раньше) но и прикроет данную уязвимость.

Вот и всё - Дыра прикрыта Smile
 
Автор gosudar  •  Дата Сентябрь 08 2017, 12:42  •  Тип FAQ  •  Просмотров 1860
Категория icam-608   •  Трекбек
 голос(ов) 1



Часовой пояс: GMT + 3