![]() |
ковырял один сайт, позарез хотелось обойти disable_function, обнаружил один способ
в пыхе при вызове функции mail() можно передать необязательные параметры "additional_parameters" .SpoilerTarget" type="button">Spoiler Параметр additional_parameters может быть использован для передачи дополнительных флагов в виде аргументов командной строки для программы сконфигурированной для отправки писем, указанной директивой sendmail_path. Например, можно установить отправителя письма при использовании sendmail с помощью опции -f. Параметр автоматически экранируется функцией escapeshellcmd(), чтобы не допустить выполнение команд. Но escapeshellcmd() позволяет добавлять дополнительные параметры. В целях безопасности рекомендуется проверять и очищать этот параметр. Так как escapeshellcmd() применяется автоматически, то нельзя использовать некоторые символы, допустимые к использованию в email-адресах некоторыми RFC. mail() не допускает такие символы, поэтому в программах, в которых они требуются, рекомендуется использовать альтернативы для их отправки (например фреймворки или библиотеки). Пользователь, под которым работает веб-сервер должен быть добавлен в список доверенных в конфигурации sendmail для того чтобы избежать добавления заголовка 'X-Warning' при указании отправителя с помощью опции (-f). Для пользователей sendmail - это файл /etc/mail/trusted-users. это параметры будут переданы при вызове sendmail можно передать альтернативный конфиг( опция -C ), в котором вызвать выполнение perl скрипта( опция -ps ) особо нигде не тестил, только на своем сайте - php 5.4, exim версия под спойлером .SpoilerTarget" type="button">Spoiler Exim version 4.76 Berkeley DB: Berkeley DB 5.1.25: (January 28, 2011) Support for: crypteq iconv() IPv6 PAM Perl Expand_dlfunc GnuTLS move_frozen_messages Content_Scanning DKIM Old_Demime Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql sqlite Authenticators: cram_md5 cyrus_sasl dovecot plaintext spa Routers: accept dnslookup ipliteral iplookup manualroute queryprogram redirect Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp Fixed never_users: 0 Size of off_t: 8 Compiler: GCC [4.6.3] Library version: GnuTLS: Compile: 2.12.14 Runtime: 2.12.14 Library version: Cyrus SASL: Compile: 2.1.25 Runtime: 2.1.25 [Cyrus SASL] Library version: PCRE: Compile: 8.12 Runtime: 8.12 2011-01-15 20:06:28 36459 Total 18 lookups Library version: MySQL: Compile: 5.5.28 [(Ubuntu)] Runtime: 5.1.73 Library version: SQLite: Compile: 3.7.9 Runtime: 3.7.9 набросал небольшой код для автоматизации, под спойлером .SpoilerTarget" type="button">Spoiler Код:
Code:.SpoilerTarget" type="button">Spoiler Код:
Code:сори если не в той ветке пишу, потестите у кого будет время |
Рядом лежит более универсальный способ.
https://rdot.org/forum/showthread.php?t=3309 Но первым тему раскопал tipsy. == По любому - молодец. == |
Цитата:
к сожалению не работает, предполагаю что из ограничения open_basedir то есть /proc/self/exe и /proc/self/maps попросту не читаются попробую на днях обойти open_basedir и заюзать https://rdot.org/forum/showthread.php?t=3309 если это в принципе возможно, кстати может кто сталкивался с подобным, может быть уже есть решения? p.s. способ который описал выше на целевом хосте тоже не отработал продебажить сложно, пока не знаю почему p.s.s. идея пришла после прочтения статьи http://oleaass.com/exploit-php-mail-...code-exeution/ кто первым раскопал не знаю, можно пруф на тему tipsyпочитать? |
Линк дать не могу, но за основу можно брать это https://bugs.php.net/bug.php?id=46741,
например https://rdot.org/forum/showpost.php?...0&postcount=16 выручало много раз, обходит и open_basedir и disable_functions и safe_mode. |
Цитата:
|
гыгы народ зашарил что если exim работает из под рута, то это плохо))
http://www.openwall.com/lists/oss-security/2016/03/03/6 |
| Время: 23:13 |