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

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

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

  #1  
Старый 03.02.2019, 01:08
Leendesst
Guest
Сообщений: n/a
Провел на форуме:
13749

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

Всем привет, есть такой скрипт, записывает логи. Недавно у знакомого слили через него сайт, но как обошли фильтр, мы не поняли(Оба знаем sql как прикладной язык).

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$crash[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]clear[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'crash'[/COLOR][COLOR="#007700"]]);
[/
COLOR][COLOR="#0000BB"]$db[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]insert[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"INSERT INTO `crashlogs` (id,name,crash,time) VALUES (NULL,'[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#DD0000"]','[/COLOR][COLOR="#0000BB"]$crash[/COLOR][COLOR="#DD0000"]','"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"')"[/COLOR][COLOR="#007700"]);
function[/COLOR][COLOR="#0000BB"]clear[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$s1[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$s1[/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"]$s1[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'"'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'\\'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'$'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'%'[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$s1[/COLOR][COLOR="#007700"]);
}[/COLOR][/COLOR
Функция insert в себе фильтрации не несёт

Если кто сможет подсказать, буду очень благодарен.

ps: $user ограничен по длине в 20 символов.
 
Ответить с цитированием

  #2  
Старый 03.02.2019, 12:06
crlf
Guest
Сообщений: n/a
Провел на форуме:
169212

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

Почему решили, что именно этот код поспсобствовал сливу? Кто и для чего читает эти логи? Не видно что есть $user и т.д. Если не брать кучу неизвестных в расчёт, то возможно как-то так:

Код:
Code:
user=vasyans\
crash=,version(),1549180652)#
Код:
Code:
INSERT INTO `crashlogs` (id,name,crash,time) VALUES  (NULL,'vasyans\',',version(),1549180652)#','1549180652')
 
Ответить с цитированием

  #3  
Старый 03.02.2019, 14:58
Leendesst
Guest
Сообщений: n/a
Провел на форуме:
13749

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

Цитата:
Сообщение от crlf  
crlf said:

Почему решили, что именно этот код поспсобствовал сливу? Кто и для чего читает эти логи? Не видно что есть $user и т.д. Если не брать кучу неизвестных в расчёт, то возможно как-то так:
Код:
Code:
user=vasyans\
crash=,version(),1549180652)#
Код:
Code:
INSERT INTO `crashlogs` (id,name,crash,time) VALUES  (NULL,'vasyans\',',version(),1549180652)#','1549180652')
Злоумышленники дропнули таблицу crashlogs. Тестировал sqlmap'ом дыру - он крутит как error based, stacked query, но потом говорит, что это ложноположительное срабатывание..

По логам было всё примерно так:

00:00 - Отправленно ~4000 запросов на данный скрипт.

0:15 - Зашли уже в pma, через pma залили шелл.

0:18 -Дропнули таблицу crashlogs.

Сам сайт на dle(10.0), с pma и mysql понятно всё. Знакомый не обновляется, а база от root'а работала.

Весь скрипт:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]20[/COLOR][COLOR="#007700"]) die();

if([/
COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$crash[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"Pixel format not accelerated"[/COLOR][COLOR="#007700"])){
echo[/COLOR][COLOR="#DD0000"]"Игра не запустилась.\r\nОшибка при поиске видеокарты!\r\nПожалуйста, переустановите драйвера видеокарты!"[/COLOR][COLOR="#007700"];
}
if([/
COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$crash[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"Cant load library"[/COLOR][COLOR="#007700"])){
echo[/COLOR][COLOR="#DD0000"]"Попробуйте отключить антивирус!"[/COLOR][COLOR="#007700"];
}
if([/
COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$crash[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"Cant find dependent libraries"[/COLOR][COLOR="#007700"])){
echo[/COLOR][COLOR="#DD0000"]"Установите компоненты VisualC++."[/COLOR][COLOR="#007700"];
}
if([/
COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$crash[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"OutOfMemory"[/COLOR][COLOR="#007700"])){
echo[/COLOR][COLOR="#DD0000"]"Не хватает ОЗУ для игры!\r\nПожалуйста, выберите больше 768мб."[/COLOR][COLOR="#007700"];
}
if([/
COLOR][COLOR="#0000BB"]strlen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$crash[/COLOR][COLOR="#007700"])>[/COLOR][COLOR="#0000BB"]100000[/COLOR][COLOR="#007700"]) die();
[/
COLOR][COLOR="#0000BB"]$db[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]insert[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"INSERT INTO `crashlogs` (id,name,crash,time) VALUES (NULL,'[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#DD0000"]','[/COLOR][COLOR="#0000BB"]$crash[/COLOR][COLOR="#DD0000"]','"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"')"[/COLOR][COLOR="#007700"]);
function[/COLOR][COLOR="#0000BB"]clear[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$s1[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$s1[/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"]$s1[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'"'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'\\'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'$'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'%'[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$s1[/COLOR][COLOR="#007700"]);
}
function[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$s1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$s2[/COLOR][COLOR="#007700"]){
if ([/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$s1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$s2[/COLOR][COLOR="#007700"]) !==[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]) {
return[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"];
}
return[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"];
}
[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
 
Ответить с цитированием

  #4  
Старый 03.02.2019, 16:26
crlf
Guest
Сообщений: n/a
Провел на форуме:
169212

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

Цитата:
Сообщение от Leendesst  
Leendesst said:

Весь скрипт
А где $crash = clear($_POST['crash']); ?

В общем, если обе переменные проходят через clear, инъекции нет.
 
Ответить с цитированием

  #5  
Старый 03.02.2019, 19:24
Leendesst
Guest
Сообщений: n/a
Провел на форуме:
13749

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

Цитата:
Сообщение от crlf  
crlf said:

А где
$crash = clear($_POST['crash']);
?
В общем, если обе переменные проходят через
clear
, инъекции нет.
Что-то пропустил. Тоже через clear идёт оно) Ладно, спасибо за помощь, будем копать логи дальше)
 
Ответить с цитированием

  #6  
Старый 03.02.2019, 19:51
BabaDook
Guest
Сообщений: n/a
Провел на форуме:
238786

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

логи выкладывай, разберёмся как захекали тебя
 
Ответить с цитированием

  #7  
Старый 03.02.2019, 20:12
Leendesst
Guest
Сообщений: n/a
Провел на форуме:
13749

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

Цитата:
Сообщение от BabaDook  
BabaDook said:

логи выкладывай, разберёмся как захекали тебя
К сожалению у него не логируются ip, всё localhost, но видно отчётливо, что гоняли сайт acunetix'ом..

Было дело ещё в ноябре, но он там что-то сам пытался найти, но не вышло.

PS: База у него от рута работала ещё, был pma, шелл точно через mysql влили.

Логи за тот день: https://yadi.sk/d/KKBu4uj3y0fl6A

Сам сайт на dle, 10 версия. Форум bullet energy, модули чистые, всё смотрели, всё экранируется..
 
Ответить с цитированием

  #8  
Старый 03.02.2019, 20:16
BabaDook
Guest
Сообщений: n/a
Провел на форуме:
238786

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

Один из самый *****тых топиков форума

/forums/110/
 
Ответить с цитированием

  #9  
Старый 03.02.2019, 20:27
Leendesst
Guest
Сообщений: n/a
Провел на форуме:
13749

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

Цитата:
Сообщение от BabaDook  
BabaDook said:

Один из самый *****тых топиков форума
/forums/110/
А он разве не помер?) 2015 год - самая свежая тема)
 
Ответить с цитированием

  #10  
Старый 03.02.2019, 21:19
BabaDook
Guest
Сообщений: n/a
Провел на форуме:
238786

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

У меня блокнот зависает от такого лога. сарян
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ