
解决php提权的时候因系统禁用函数导致无法执行命令的情况
bypass_disablefunc.php tem três opções GET: cmd, outpath e sopath.
As opções são muito simples:
cmd é o seu comando malicioso;
outpath é o caminho do arquivo de saída do comando (legível e gravável);
sopath é o caminho absoluto do nosso objeto compartilhado bypass_disablefunc_x64.so. Por exemplo:
Primeiro, o parâmetro cmd, o comando do sistema a ser executado (como pwd);
Segundo, o parâmetro outpath, o caminho do arquivo que salva o resultado da execução do comando (como / tmp / xx), para facilitar a exibição na página. Além disso, para este parâmetro, você deve prestar atenção a alguns pontos: se o web tem permissão de leitura e gravação, se o web pode acessar entre diretórios, e se o arquivo será sobrescrito e excluído, etc.;
Terceiro, o parâmetro sopath, que especifica o caminho absoluto do objeto compartilhado que sequestra funções do sistema (como /var/www/bypass_disablefunc_x64.so). Além disso, sobre este parâmetro, você deve prestar atenção se o web consegue acessá-lo entre diretórios.
Além disso, o bypass_disablefunc.php concatena o comando e o caminho de saída em uma linha de comando completa, então você não precisa redirecionar no parâmetro cmd.
bypass_disablefunc_x64.so é o objeto compartilhado que executa o comando, compilado a partir de bypass_disablefunc.c com o comando gcc -shared -fPIC bypass_disablefunc.c -o bypass_disablefunc_x64.so. Se o alvo for arquitetura x86, é necessário adicionar a opção -m32 para recompilar o bypass_disablefunc_x86.so.
Dê um jeito de enviar o bypass_disablefunc.php e o bypass_disablefunc_x64.so para o alvo; depois de especificar os três parâmetros GET, o bypass_disablefunc.php pode contornar o disable_functions.
Problemas conhecidos: