ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

03.02.2019, 01:08
|
|
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 символов.
|
|
|
|

03.02.2019, 12:06
|
|
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')
|
|
|
|

03.02.2019, 14:58
|
|
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]
|
|
|
|

03.02.2019, 16:26
|
|
Guest
Сообщений: n/a
Провел на форуме: 169212
Репутация:
441
|
|
Сообщение от Leendesst
Leendesst said:
↑
Весь скрипт
А где $crash = clear($_POST['crash']); ?
В общем, если обе переменные проходят через clear, инъекции нет.
|
|
|
|

03.02.2019, 19:24
|
|
Guest
Сообщений: n/a
Провел на форуме: 13749
Репутация:
0
|
|
Сообщение от crlf
crlf said:
↑
А где
$crash = clear($_POST['crash']);
?
В общем, если обе переменные проходят через
clear
, инъекции нет.
Что-то пропустил. Тоже через clear идёт оно) Ладно, спасибо за помощь, будем копать логи дальше)
|
|
|
|

03.02.2019, 19:51
|
|
Guest
Сообщений: n/a
Провел на форуме: 238786
Репутация:
40
|
|
логи выкладывай, разберёмся как захекали тебя
|
|
|
|

03.02.2019, 20:12
|
|
Guest
Сообщений: n/a
Провел на форуме: 13749
Репутация:
0
|
|
Сообщение от BabaDook
BabaDook said:
↑
логи выкладывай, разберёмся как захекали тебя
К сожалению у него не логируются ip, всё localhost, но видно отчётливо, что гоняли сайт acunetix'ом..
Было дело ещё в ноябре, но он там что-то сам пытался найти, но не вышло.
PS: База у него от рута работала ещё, был pma, шелл точно через mysql влили.
Логи за тот день: https://yadi.sk/d/KKBu4uj3y0fl6A
Сам сайт на dle, 10 версия. Форум bullet energy, модули чистые, всё смотрели, всё экранируется..
|
|
|
|

03.02.2019, 20:16
|
|
Guest
Сообщений: n/a
Провел на форуме: 238786
Репутация:
40
|
|
|
|
|
|

03.02.2019, 20:27
|
|
Guest
Сообщений: n/a
Провел на форуме: 13749
Репутация:
0
|
|
Сообщение от BabaDook
BabaDook said:
↑
Один из самый *****тых топиков форума
/forums/110/
А он разве не помер?) 2015 год - самая свежая тема)
|
|
|
|

03.02.2019, 21:19
|
|
Guest
Сообщений: n/a
Провел на форуме: 238786
Репутация:
40
|
|
У меня блокнот зависает от такого лога. сарян
|
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|