
stealthdebuger
+105
Репутация
162
Рейтинг
В журнале "Хакер", №9(176) 2013 опубликована статья "Обзор эксплойтов". Один из параграфов данной статьи назыается так: "Выполнение произвольного кода в INSTANTCMS 1.6". Датой релиза эксплойта, автор коего AkaStep указано 26 июня 2013 года
Еще более интересная фраза присутствует в блоке TARGETS эксплойта:
Автор идеи и первоначальный разработчик InstantCMS - уважаемый, большинством из вас, R2.
Несколько позже к нему подключился, не менее уважаемый, Fuze.
Причины создания и преследуемые цели я опущу, если R2 захочет - он поделится с сообществом.
Могу лишь сказать, что на данный момент цели значительно отличаются.
Принцип проникновения такой же, что демонстрирует видео отсюда http://instantcms.ru/forum/thread16222.html
С человеческой - он #%%$^%$^@#
Можно демо-пользователям права админа?
Есть личные претензии? Так говори прямо, кто ты, что ты.
Я посмотрю не брал ли ты чего из того, что люди раздают.
P.S. Высказанное мной в предыдущем посту утверждение - мое кредо, которое никоим образом лично к Димитриус не относится.
Но еще больше ненавижу людей, которые продают то, что другие раздают бесплатно.
http://www.youtube.com/watch?v=pGGQ24fszGM
Там всего-то надо прежде чем выводить ссылку, делать замену символа #
$link = str_replace('#', urlencode('#'), $link);
и получать ссылку перед редиректом таким образом
$url = preg_replace ('/^url=/', '', $_SERVER['QUERY_STRING']);
И можно будет позабыть о любых кривых редиректах.
Конечно лучше тихо, чем пытаться объяснить зачем выносить вверх htpasswd, какие права на какие папки и какие файлы надо ставить, и какие последствия могут быть.
login.php в кодировке UTF-8, из чего можно предположить что под ICMS 1.10.x
sendsms.php в кодировке ANSI и для отправки запросов используется iconv()... видать с починкой примусов тоже не все так гладко.
Вот таким образом можно определить какая кодировка ICMS:
$charset = 'windows-1251';
$utf = false;
$s = file_get_contents('./index.php');
if(preg_match('#.#u', $s)) {
$charset = 'utf-8';
$utf = true;
}
2. Следует учитывать, что на некоторых параноидальных хостингах file_get_contents() может не обрабатывать URI из-за отключенного allow_url_fopen. В связи с этим, лучше использовать cURL для получения более универсального решения.
В качестве примера:
function getURL($URL) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$co = curl_exec($ch);
curl_close($ch);
return $co;
}
P.S. В следующий раз, лучше подумайте над материалом, прежде чем спешить публиковать его.
Благо, для нищебродов sms.ru предоставляет возможность отправить 60 SMS в сутки на свой номер БЕСПЛАТНО!
Да и сам запрос на отправку SMS прост до ужаса:
http://sms.ru/sms/send?api_id=ваш_api_id&to=ваш_номер&text=текст_смс
Ну и сам алгоритм особого ума не требует:
1. Сгенерить случайное число и сохранить его в сессию.
2. Отправить SMS админу и ждать введенного кода.
3. Если код не верный, генерить новый код + отправлять инфу админу о попытке входа в админку.
4. Если код верный, авторизовывать админа.