Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Вскрытие админки на ip камере

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Для начинающих] >> Вскрытие админки на ip камере
Имя
Сообщение << Старые топики   Новые топики >>
Вскрытие админки на ip камере - 2010-07-13 00:41:45.080000   
rotor155

Сообщений: 5
Оценки: 0
Присоединился: 2010-07-12 23:59:21.420000
Камера под управлением linux, после чьего-то баловства сменены пароли в т.ч админа)))
Резета на камере нет, прошивки тоже поэтому к вам)))
С рабочей камеры по ftp слил все скрипты которые доступны- вот прилагаю на депозите /files/2y7kkx751

Посоветуйте откуда начать копать?
Post #: 1
RE: Вскрытие админки на ip камере - 2010-07-13 19:01:29.636666   
rotor155

Сообщений: 5
Оценки: 0
Присоединился: 2010-07-12 23:59:21.420000
ну как есть идеи?)))
Post #: 2
RE: Вскрытие админки на ip камере - 2010-07-13 22:20:48.506666   
rotor155

Сообщений: 5
Оценки: 0
Присоединился: 2010-07-12 23:59:21.420000
Камера Pentax Versacam IC-4 вот такая

при подключении к камере сразу появляется форма авторизации и выполняется эта cgi
#!/home/user/mylisp/bin/wg_mylisp &lt;? ;; Authenticate User .. (set USER_NAME (GET_HTTP_VARS "USER_NAME")) (set USER_PASSWD (GET_HTTP_VARS "USER_PASSWD")) (set USER_ID (AUTH_USER USER_NAME USER_PASSWD)) ;; get environment variables (set NEED_GOTO_ADMIN (GET_HTTP_VARS "NEED_GOTO_ADMIN")) (set NEED_APPLET (GET_HTTP_VARS "NEED_APPLET")) (set NEED_SP (GET_HTTP_VARS "NEED_SP")) ;; set defaults (if (= NEED_GOTO_ADMIN nil) (set NEED_GOTO_ADMIN "1") true) (if (= NEED_APPLET nil) (set NEED_APPLET "0") true) (if (= NEED_SP nil) (set NEED_SP "0") true) (set LOGIN_PG "/wg_main.ml?vc=0") (print "Set-Cookie: USER_ID=$USER_ID; path=/; \n") (print "Set-Cookie: USER_NAME=$USER_NAME; path=/; \n") (print "Set-Cookie: USER_PASSWD=$USER_PASSWD;path=/; \n") (print "Set-Cookie: NEED_APPLET=$NEED_APPLET; path=/; \n") (print "Set-Cookie: NEED_SP=$NEED_SP; path=/; \n") (include "basic.mlh") (include "cgi.mlh") (include "util.mlh") (include "auth.mlh") (include "webeye.mlh") (we_global_vars (GET_UC_VARS)) (if (= USER_ID -1) (sсriрt_ERR_MSG "Authentication failed - Password Mismatched !!!") true ) ?&gt; &lt;HTML&gt;&lt;HEAD&gt; &lt;? (defun get_page (sel_page need_applet need_sp) (begin ;;(set login_pg "/wg_main.ml?vc=0") (if (= sel_page 0) (if (= need_applet "1") (set login_pg "/wg_applet.ml") (set login_pg "/wg_main.ml?vc=0") ) true ) (if (= sel_page 1) (if (= need_applet "1") (set login_pg "/wg_applet.ml") (set login_pg "/wg_main.ml") ) true ) (if (= sel_page 2) (if (= need_applet "1") (set login_pg "/wg_applet.ml") (set login_pg "/wg_singleview.ml") ) true ) (if (= sel_page 3) (if (= need_applet "1") (set login_pg "/wg_applet.ml") (set login_pg "/wg_multiview.ml") ) true ) (if (= sel_page 4) (if (= need_applet "1") (set login_pg "/wg_applet.ml") (set login_pg "/wg_singleview2.ml") ) true ) (if (= sel_page 5) (if (= need_applet "1") (set login_pg "/wg_applet.ml") (set login_pg "/wg_multiview2.ml") ) true ) (if (or (= sel_page 6) (= need_sp "1")) (set login_pg "/wg_sp-page.ml") true ) (set rtn_pg login_pg) ) ) (if (= USER_ID 0) ;; in case of administrator (if (= NEED_GOTO_ADMIN "1") (set LOGIN_PG "/admin/wg_admin-page.ml") (set LOGIN_PG (get_page UC_SEL_MAIN_PAGE NEED_APPLET NEED_SP)) ) ;; in case of normal user (set LOGIN_PG (get_page UC_SEL_MAIN_PAGE NEED_APPLET NEED_SP)) ) ?&gt; &lt;META HTTP-EQUIV="refresh" content="0;url=&lt;? (print LOGIN_PG) ?&gt;"&gt; &lt;/HEAD&gt;&lt;bоdу&gt;&lt;/bоdу&gt;&lt;/HTML&gt;
и вот ещё скрипт из auth.mlh



&lt;? &lt;? (defun CHECK_COOKIE (is_admin) (begin (set user_id (get_http_cookie "USER_ID")) (set user_nm (get_http_cookie "USER_NAME")) (set user_pw (get_http_cookie "USER_PASSWD")) (we_global_vars (GET_USER_VARS)) (if (= user_id "0") (begin (if (= UI_ADMIN_UID user_nm) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) (if (= UI_ADMIN_PASS user_pw) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) ) true ) ;; USER1 Check (if (= user_id "1") (if (= UI_USER1_UID user_nm) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) (if (= user_id "1") (if (= UI_USER1_PASS user_pw) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) ;; USER2 Check (if (= user_id "2") (if (= UI_USER2_UID user_nm) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) (if (= user_id "2") (if (= UI_USER2_PASS user_pw) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) ;; USER3 Check (if (= user_id "3") (if (= UI_USER3_UID user_nm) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) (if (= user_id "3") (if (= UI_USER3_PASS user_pw) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) ;; USER4 Check (if (= user_id "4") (if (= UI_USER4_UID user_nm) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) (if (= user_id "4") (if (= UI_USER4_PASS user_pw) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) ;; USER5 Check (if (= user_id "5") (if (= UI_USER5_UID user_nm) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) (if (= user_id "5") (if (= UI_USER5_PASS user_pw) true (begin (MSG_GO_URL_ON_TOP "Authentication failed - Password Mismatched!!" "/index.html") (EXIT 0x00) ) ) true ) (if (or (= user_id nil) (= user_id "-1")) (begin (MSG_GO_URL_ON_TOP "the session not opened.\\nplease, do login at the first." "/index.html") (EXIT 0x00) ) true ) (if (= is_admin nil) true (if (= user_id "0") true (begin (GO_URL_ON_TOP "/admin-login.ml") (EXIT 0x00) ) ) ) ) ) ?&gt;
Не могу распознать синтаксис.
Возможно здесь применить инъекцию? Не вижу только куда( в первом посте ссылка на архив со скриптами если что)
Post #: 3
RE: Вскрытие админки на ip камере - 2010-07-13 22:41:43.700000   
rotor155

Сообщений: 5
Оценки: 0
Присоединился: 2010-07-12 23:59:21.420000
Была идея зайти в админские настройки с рабочей абсолютно идентичной камеры, заполнить форму изменения пароля, подменить камеру, и послать эту конфигурацию, но и там тоже стоит проверка авторизации(wg_user-info-act.ml):


&lt;? (include "basic.mlh") (include "cgi.mlh") (include "util.mlh") (include "auth.mlh") (include "webeye.mlh") ;; check the cookie for admin authentication (CHECK_COOKIE true) (set nvlist nil) (set UI_ADMIN_UID (GET_HTTP_VARS "UI_ADMIN_UID")) (set UI_ADMIN_PASS (GET_HTTP_VARS "UI_ADMIN_PASS")) (set UI_ADMIN_AR (ATOI (GET_HTTP_VARS "UI_ADMIN_AR"))) (set nvlist (cons (list4 0 UI_ADMIN_UID UI_ADMIN_PASS UI_ADMIN_AR) nvlist)) (set UI_USER1_UID (GET_HTTP_VARS "UI_USER1_UID")) (set UI_USER1_PASS (GET_HTTP_VARS "UI_USER1_PASS")) (set UI_USER1_AR (ATOI (GET_HTTP_VARS "UI_USER1_AR"))) (set nvlist (cons (list4 1 UI_USER1_UID UI_USER1_PASS UI_USER1_AR) nvlist)) (set UI_USER2_UID (GET_HTTP_VARS "UI_USER2_UID")) (set UI_USER2_PASS (GET_HTTP_VARS "UI_USER2_PASS")) (set UI_USER2_AR (ATOI (GET_HTTP_VARS "UI_USER2_AR"))) (set nvlist (cons (list4 2 UI_USER2_UID UI_USER2_PASS UI_USER2_AR) nvlist)) (set UI_USER3_UID (GET_HTTP_VARS "UI_USER3_UID")) (set UI_USER3_PASS (GET_HTTP_VARS "UI_USER3_PASS")) (set UI_USER3_AR (ATOI (GET_HTTP_VARS "UI_USER3_AR"))) (set nvlist (cons (list4 3 UI_USER3_UID UI_USER3_PASS UI_USER3_AR) nvlist)) (set UI_USER4_UID (GET_HTTP_VARS "UI_USER4_UID")) (set UI_USER4_PASS (GET_HTTP_VARS "UI_USER4_PASS")) (set UI_USER4_AR (ATOI (GET_HTTP_VARS "UI_USER4_AR"))) (set nvlist (cons (list4 4 UI_USER4_UID UI_USER4_PASS UI_USER4_AR) nvlist)) (set UI_USER5_UID (GET_HTTP_VARS "UI_USER5_UID")) (set UI_USER5_PASS (GET_HTTP_VARS "UI_USER5_PASS")) (set UI_USER5_AR (ATOI (GET_HTTP_VARS "UI_USER5_AR"))) (set nvlist (cons (list4 5 UI_USER5_UID UI_USER5_PASS UI_USER5_AR) nvlist)) ;;(print nvlist) (set result (SET_USER_VARS nvlist)) (if (= result nil) (SCRIPT_ERR_MSG "SET_USER_VARS error") (MSG_RELOAD_URL "Applied, OK." "/admin/wg_user-info.ml") ) ?&gt;
Post #: 4
RE: Вскрытие админки на ip камере - 2010-07-14 19:31:44.830000   
rotor155

Сообщений: 5
Оценки: 0
Присоединился: 2010-07-12 23:59:21.420000
Проблема решена. Как всегда ответ на поверхности))Помогло всего день брута. Тему можно закрывать.
Post #: 5
Страниц:  [1]
Все форумы >> [Для начинающих] >> Вскрытие админки на ip камере







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.