За последние 24 часа нас посетили 39382 программиста и 7582 робота. Сейчас ищут 1552 программиста ...

XSS mail()

Тема в разделе "PHP для новичков", создана пользователем Неугомонный, 23 дек 2023.

  1. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Укоротил текст ... расставил . По факту теперь я говорю что не вижу здесь уязвимостей , а мне говорят что есть. Ок если отправили на мыло <script>...</script>@test.ru пожалуйста на этом же мыли и ищите своё письмо на мыле <script> ))) потом за 2 $_POST что в теле мне говорят есть XSS , мое мнение htmlspecialchars применяется для вывода на страницу сайта, а мы письмо отправляем на сервис допустим Gmail , как htmlspecialchars в моем коде будут выполнены на Gmail )), в общем я предложил взломать через мой код Gmail никто не знает как но орут жопу рвут что надо все $_POST долбить фильтрацией
    PHP:
    1. mail($_POST['email'], SITE_NAME.' - ...', '...Имя пользователя: '.$_POST['username'].'<br>Пароль: '.$_POST['password'].'<br><br>', '...');
    Вопрос какие на фиг уязвимости , и как тогда хакнуть Gmail через этот $_POST, если по факту если ты доброжелатель ты зашёл зарегистрировался получить письмо на почту как скрипт сгенерировал, если говно то ищи там куда ты его отправлял и читай что ты туда подставлял выходит почтовый клиен так и обработает выходи что я потеряю если эти поля не оберну в фильтр? Ничего. Просто вот не вижу в этом коде уязвимости по причине что mail тело читается уже не на сайте у меня а в почтовом клиенте и всё что прилетит это проблемы не мои это проблемы разработчиков почтового сервиса
     
    #1 Неугомонный, 23 дек 2023
    Последнее редактирование: 23 дек 2023
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    ну не совсем чистый XSS, но все-же
    если я в email передам 100 емейлов через запятую... как тебе такое? как быстро забанят твой обратный адрес?

    теперь допустим, что передам в username - <script>alert('hacck')</script> ... если веб-клиент твоей почты не блочит это самостоятельно.... вот тут и наступит твоя проблема.... ибо сейчас у тебя гмайл крутой... а завтра сменил почту на какой нить другой сервис - и попух
     
  3. Drunkenmunky

    Drunkenmunky Старожил

    С нами с:
    12 авг 2020
    Сообщения:
    1.511
    Симпатии:
    284
    Это не совсем то.
    Общепринято, что ""Имя пользователя(эПочты) может содержать буквы латинского алфавита (a–z), цифры (0–9) и точки (.)
    Я бы ещё добавил туда же тире и подчеркивание, тоже часто используют
    Это-то и стоит проверять при использовании mail()
     
  4. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Ты говоришь о регулярке а я говорю о функции mail() и что происходит внутри её, и зачем долбить всё в фильтра потому где-то на заборе 2010 года написано нужно фильтровать все данные $_POST

    FILTER_VALIDATE_EMAIL по-моему то что ты предлагаешь выполняет эта штука , что-то подобное. Не ограничивая жёстко так символами a-z 0-9 \. \- _
    --- Добавлено ---
    FILTER_VALIDATE_EMAIL не пропустит 100 имейлов, если я правильно читал описание функции
    Ты же получатель письма, ты когда регистрацию проходишь ты себе отправляешь письмо <script>alert('hacck')</script> , т.е ты же умышленно это себе отправил , я же не должен об этом думать, об этом должен был думать Gmail Yandex outlook , если через меня хакнули какого-то школьника сервис остаётся только посмеяться
    --- Добавлено ---
    PHP:
    1. elseif(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
    2.         $err = htmlspecialchars($_POST['email']).' не является действительным адресом электронной почты.';
    О себе я подумал, почему я должен думать о Gmail допустим или каком temp-mail , вызывая у себя лишние функции?
     
  5. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    Да вообще тогда думать не стоит... Делай как знаешь. Чего спрашивать то?
     
    #5 ADSoft, 23 дек 2023
    Последнее редактирование: 23 дек 2023
  6. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Ну почему о себе подумал а как будут работать функции там где они не имеют никакого отношения, подумал и решил зачем они там :)
     
  7. Survivor

    Survivor Новичок

    С нами с:
    8 фев 2023
    Сообщения:
    93
    Симпатии:
    19
    А просто элементарная забота о пользователе? =)
     
  8. Drunkenmunky

    Drunkenmunky Старожил

    С нами с:
    12 авг 2020
    Сообщения:
    1.511
    Симпатии:
    284
    Смотря как используется.
    Так, как вы описываете, выглядит не очень умно. Хотя и безвредно. На сегодняшний день.
    Поставим себя на место злоумышленника. Обнаружение такого упущения вызовет у нас вполне справедливое мнение об умственной несостоятельности администрации, что даст дополнительный стимул в поиске уязвимости в другом месте. И она таки будет найдена.
     
  9. Неугомонный

    Неугомонный Активный пользователь

    С нами с:
    10 фев 2018
    Сообщения:
    192
    Симпатии:
    3
    Я же знаю что перед передачей в бд фильтрация и при выводе на страницу, либо регуляркой валидация пришедших с стороны пользователя данных. Всё возможно может где и упущу опыт и практика только всё исправит
     
  10. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    Умный учится на своих ошибках, мудрый учится на чужих, а дурак не учится никогда...