Ответы пользователя по тегу PHP
  • Как правильно подключать файлы внутри плагина WP есть уязвимость: Unauthenticated Local File Inclusion (LFI)?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    У тебя там эта уязвимость встречается ещё минимум один раз. Плюс, есть BAC и PXSS. По-мелочи ещё косяки видны, но это уже второстепенное.

    По идее, тебе контакт от WPScan должен был либо отчёт отправить, либо в письме самом дать PoC и детали по уязвимости как упомянутый LFI воспроизводится.

    66792dd53eea3280146718.png

    Возможен импорт/экспорт настроек фильтра гостем, потому что нет проверки доступа/привилегий. Тут же возможен вектор с XSS, если сначала выполнить импорт с полезной нагрузкой, а потом экспорт с валидным nonce-токеном.

    Persistent XSS с правами контрибьютора и выше через шорткоды.

    В открытом доступе писать детали незакрытых уязвимостей не есть хорошая практика, а контакта твоего я не нашёл нигде.
    Ответ написан
    Комментировать
  • Как отправить форму на почту с помощью PHP?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Форма размещена на хостинге timeweb.ru, доменная почта там тоже есть. Отправку через нее делаю, но все без результатов.

    У Таймвэб на тестовых аккаунтах отключена функция отправки почты по понятным причинам — это раз. Два — вы пишете про функцию mail(), а не про доменную почту. Три — сам код обработчика, мягко говоря, выглядит странно. Четыре — кириллистические домены стоит записывать в формате punycode (вот тут есть конвертер).
    Ответ написан
    3 комментария
  • Пропала админ панель, как будто нет прав?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Вот вроде логи последние, я там ничего не вижу

    Ну как бы вот:

    [Mon Jul 03 11:07:31.402769 2023] [proxy_fcgi:error] [pid 578161:tid 140205692339968] [client 217.151.230.53:55160] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught RuntimeException: Error saving action: Database error. in /var/www/vhosts/axzeym72.web2.alfahosting-server.de/ag-umzugslogistik.de/wp-content/plugins/wpforms/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php:75


    Если ещё точнее, то вот это:

    PHP Fatal error: Uncaught RuntimeException: Error saving action: Database error.


    Немного очевидного: если с нуля накатывается WordPress без проблем и всё работает, то вариант с нехваткой прав пользователя БД отпадает сам собой. Остаётся вариант с поврежденим самой БД, возможно из-за ранее случившегося заражения сайта.

    Что может помочь: через phpMyAdmin попробовать восстановить повреждённые таблицы БД или попытать счастья с константой define ( 'WP_ALLOW_REPAIR', true ); в файле wp-config.php и перейдя затем по адресу hxxps://domain.tld/wp-admin/maint/repair.php.
    Ответ написан
    Комментировать
  • Из за чего появляется предупреждение?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    \domains\stephenbutler\ и wp-content\themes\stephenbutler\ - это намекает на то, что ты имеешь дело с кастомной темой. Отсюда вопрос: её пишешь ты или это уже кто-то сделал ранее, и ты сейчас её дорабатываешь? В любом случае, я на 99.99% уверен, что тема давно не обновлялась и:

    я просто в этот параметр поставил null
    Хардкодить такую тему - это почти гарантированный тупик в ближайшем будущем. Если, конечно, это не игра в песочнице с каким-то пет-проектом.

    дальнейшем из-за этого не будет проблем?
    Зависит от того, что ты ковыряешь и с какой целью. Если будешь запускать сайт с таким вот подходом, то проблемы точно будут, причём долго они себя ждать не заставят.
    Ответ написан
    Комментировать
  • Как ограничить просмотр некоторых страниц группе пользователей WordPress?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    По идее, должно хватить штатной функции* current_user_can( 'название_роли' );. Или можно воспользоваться плагином вроде этого.

    * - именно по названию роли эта функция отрабатывает не всегда корректно. Более стабильный результат можно получить, используя название прав, а не ролей.

    Например пользователи с группой сотрудник не могут видеть страницы магазин, заказы.
    Если пользователь выйдет из своей учётной записи, то ему будут видны страницы сайта "Магазин" и "Заказы". Получается, что надо также добавлять проверку is_user_logged_in();.
    Ответ написан
    Комментировать
  • Какие уязвимости могут тут быть?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Да, csv это текст с разделителем, но мы загружаем на сайт файлы, записанные в нем. То есть если мы напишем index.php и запишем туда какую-нибудь белеберду, то это файл с белебердой будет хранится на сервере.
    Мне интересно какие именно атаки могут произойти(SQL-инъекции, или XSS-атаки или еще что-то)
    Отталкивайтесь от максимально возможного риска, что в данном случае будет шеллом (в идеале - однострочником). Ну и, в зависимости от реализации/обстоятельств, можно ещё на CSV-инъекции обратить внимание.

    В остальном - зависит уже от конкретных деталей реализации этого функционала.
    Ответ написан
    Комментировать