У меня уже конкретно замылились глаза от админок малвари и прочей приват-блекхет-параши. К счастью, знакомый скинул на анализ бота для продаж через телегу - хоть какое-то разнообразие.
Ожидалось, что это будет глоток свежего воздуха. Так и оказалось. С небольшой разницей. Не свежего, а несвежего и не воздуха (пердежа сталобыть).
Продажник этого бота:
Продажник
По описанию - типичный движок для продажи спайсов закладками. Но подразумевается, что вы будете торговать аккаунтами стима и прочим ширпотребом (верим-верим).
XSS
Я пробовал пихнуть XSS непосредственно через бота, но вариантов таких не было. Зато если обратиться напрямую к файлу, который обрабатывает данные от телеграмм-бота, можно было пропихнуть XSS.
И результат в админке:
С одной стороны - так себе. С другой - чтобы бот работал, надо регистрировать вебхук, а значит должен быть домен с сертификатом. В принципе, до этого файла можно гарантированно добраться перебором, пусть и долгим (ооочень долгим).
Обход аутентификации
Начало файлика admin.php:
Т.е. для того чтобы получить доступ к админке, достаточно поставить куку "h" с любым параметром:
А ведь вся проблема в том, что автор просто запутался в условиях. Отсюда следует важный урок. Соблюдайте технику безопасности - не пишите код для продажи спайса под спайсом!
Blind SQL-injection
Если еще раз взглянем на тот же самый кусок кода, то увидим SQL-инъекцию.
Как вы убедитесь далее, крутить ее бессмысленно. Но зато можно похвалить автора за стахановские объемы плотности ошибок на квадратный сантиметр кода.
Insert SQL-injection
Внутри админки тоже есть скули. Хотя и неправильно говорить "внутри", так как нам не нужны актуальный логин/пароль или куки админа. Например, при добавлении товара пишем вот так:
И результат:
Если бд крутится от рута (а с этим скриптом скорее всего так и будет) можно прочесть файлик:
И читаем:
Остался финальный штрих.
RCE
Заходим на страничку setup.html и перезаписываем ранее прочитанный файлик config.php:
В этом файлике видим:
Ну всё, можно лить шеллы и прочие непотребства творить:
Ранее мне уже попадались подобные боты (минимум 4), где атаку можно было провести прямо через бота в телеграмме (чаще всего - вставляя в никнейм xss-вектор).
По идее можно возразить, мол хули ты, мистер кробий, доебался до пацанов - главное же работает.
На что я отвечу:
Во-первых, вот вам метафора, дорогие мои друзья. Из заводской двустволки можно стрелять. С таким оружием, особо не повоюешь, но можно расчитывать, что она не взорвется в руках при выстреле. А вот если "ружье" сделал школьник-алкаш из водопроводной трубы, изоленты и проволоки, а порох сыпал на глаз (да, шоколодный, мамкин ты шутник), то по-любому пидорахнет, оттяпав пальцы.
Ну и вот как вы относитесь к тому, что с вас берут деньги как за двустволку, а дают поделку из кусков говна и изоленты?
Автор RedBear
Источник https://krober.biz/?p=3498
Ожидалось, что это будет глоток свежего воздуха. Так и оказалось. С небольшой разницей. Не свежего, а несвежего и не воздуха (пердежа сталобыть).
Продажник этого бота:
Продажник
По описанию - типичный движок для продажи спайсов закладками. Но подразумевается, что вы будете торговать аккаунтами стима и прочим ширпотребом (верим-верим).
XSS
Я пробовал пихнуть XSS непосредственно через бота, но вариантов таких не было. Зато если обратиться напрямую к файлу, который обрабатывает данные от телеграмм-бота, можно было пропихнуть XSS.
И результат в админке:
С одной стороны - так себе. С другой - чтобы бот работал, надо регистрировать вебхук, а значит должен быть домен с сертификатом. В принципе, до этого файла можно гарантированно добраться перебором, пусть и долгим (ооочень долгим).
Обход аутентификации
Начало файлика admin.php:
Т.е. для того чтобы получить доступ к админке, достаточно поставить куку "h" с любым параметром:
А ведь вся проблема в том, что автор просто запутался в условиях. Отсюда следует важный урок. Соблюдайте технику безопасности - не пишите код для продажи спайса под спайсом!
Blind SQL-injection
Если еще раз взглянем на тот же самый кусок кода, то увидим SQL-инъекцию.
Как вы убедитесь далее, крутить ее бессмысленно. Но зато можно похвалить автора за стахановские объемы плотности ошибок на квадратный сантиметр кода.
Insert SQL-injection
Внутри админки тоже есть скули. Хотя и неправильно говорить "внутри", так как нам не нужны актуальный логин/пароль или куки админа. Например, при добавлении товара пишем вот так:
И результат:
Если бд крутится от рута (а с этим скриптом скорее всего так и будет) можно прочесть файлик:
И читаем:
Остался финальный штрих.
RCE
Заходим на страничку setup.html и перезаписываем ранее прочитанный файлик config.php:
В этом файлике видим:
Ну всё, можно лить шеллы и прочие непотребства творить:
Ранее мне уже попадались подобные боты (минимум 4), где атаку можно было провести прямо через бота в телеграмме (чаще всего - вставляя в никнейм xss-вектор).
По идее можно возразить, мол хули ты, мистер кробий, доебался до пацанов - главное же работает.
На что я отвечу:
Во-первых, вот вам метафора, дорогие мои друзья. Из заводской двустволки можно стрелять. С таким оружием, особо не повоюешь, но можно расчитывать, что она не взорвется в руках при выстреле. А вот если "ружье" сделал школьник-алкаш из водопроводной трубы, изоленты и проволоки, а порох сыпал на глаз (да, шоколодный, мамкин ты шутник), то по-любому пидорахнет, оттяпав пальцы.
Ну и вот как вы относитесь к тому, что с вас берут деньги как за двустволку, а дают поделку из кусков говна и изоленты?
Автор RedBear
Источник https://krober.biz/?p=3498