
正文
thinkphpexec调用exe,thinkphp313 getshell
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php调用exe问题
你的PHP环境是在Linux服务器还是Windows服务器上?如果是Linux服务器,那么是不支持exe程序运行的。你的程序需要放在php文件能访问的目录中。当然,你必须能够访问PHP服务器才可以。如果只是客户端,那是没用的。PHP不能访问客户端的程序。system或者exec都可以执行文件。
一是APACHE的进程(估计是httpd.exe)身份与你命令行执行的是否相同,可以在进程管理器里面查看。二是环境不同,你的julia是否需要某些特定环境变量支持,PHP执行的时候这些环境变量是否都有,可以在PHPINFO()里面查看。
php可以调用外部exe程序,如果是在服务器端执行服务器端的程序,使用exec函数。提示一点:php是服务器端脚本,因此,不能在客户端执行服务器端的程序。
相关问答
Q1: 请教知道的老师,php执行这个shell_exec安全吗?
安全不安全取决于 ffmpeg,如果它带毒或木马,那就不安全,毕竟你调用它把控制权交给了它。
PHP无法使用exec命令,没有任何返回值。解决途径 php.ini的配置有问题。由于php是0以上的版本,取消了安全模式,所以考虑PHP.ini文件配置。打开php配置文件,里面有一行disabel_function的值,此处记录了禁止运行的函数,在里面讲exec和shell_exec,system等函数删除。
如PHP中的system、exec. shell exec等,当用户可以控制命令执行函数中的参数时,将可以注入恶意系统命令到正常命令中,造成命令执行攻击。PHP中调用外部程序的主要有以下函数:system exec shell_exec passthru popen proc_popen 全局搜索这些函数,观察是否可以控制。
使用了内部调用shell的函数:system(),exec()等。将外界传入的参数没有足够的过滤,直接传递给内部调用shell的函数。参数中shell的元字符没有被转义。危害:继承嵌入式应用程序或者web应用程序的权限去执行系统命令读写执行文件,导致系统有可能会被恶意攻击或者泄露系统用户信息。
(1)在PHP里使用shell_exec的函数,以shell的方式,启动一个独立的PHP脚本执行。这种方式,其实相当于在Web服务器处理过程中,独立起了一个shell进程处理你的任务。这里,需要特别注意的是shell_exec的服务器安全,注意校验参数,小心避免被带入shell命令中。这个是比较容易实现的方式。
原型: string shell_exec(string $cmd)说明: 直接执行命令$cmd ?php output = shell_exec(ls -lart);echo $output;? 防超时的处理方法:当执行命令的返回结果非常庞大时,可以需要考虑将返回结果输出至其他文件,再另行读取文件,这样可以显著提高程序执行的效率。
Q2: 使用php的exec权限问题
在Windows平台下安装PHP后,在使用PHP的exec、shell_exec等函数时,经常会遇到报错:unable to fork...,这实际上是因为PHP对cmd.exe没有足够的权限引起的。
首先打开php.ini文件,一般默认放在C盘windows目录下。在php.ini文件夹下,查找extension=php_curl.dll,找到后,把它前面的分号去掉,让它起作用。然后再查找extension_dir=,看看后面的地址指向哪个文件夹,然后打开这个文件夹。
php执行linux的命令用system或exec就可以,只要打开safemode,但是一些系统底层的没有执行命令的不允许调用哦,实在有些命令例如zip之类想用的话,直接用php写入一个shell脚本文件再exec那个sh就好了。
检查权限. 文件的权限,文件的所有者,文件的所在组。另外,也要看看你是怎么运行的。 是不是 在 linux 上root用户下直接运行 php命令 ,还是通过网页版访问php文件(这种情况下,是要走nginx或apache的进程用户的,也要确定有权限)。
Q3: 怎样用PHP脚本调用安装在Windows中的*.exe程序?
1、你的PHP环境是在Linux服务器还是Windows服务器上?如果是Linux服务器,那么是不支持exe程序运行的。你的程序需要放在php文件能访问的目录中。当然,你必须能够访问PHP服务器才可以。如果只是客户端,那是没用的。PHP不能访问客户端的程序。system或者exec都可以执行文件。
2、php可以调用外部exe程序,如果是在服务器端执行服务器端的程序,使用exec函数。提示一点:php是服务器端脚本,因此,不能在客户端执行服务器端的程序。
3、一是APACHE的进程(估计是httpd.exe)身份与你命令行执行的是否相同,可以在进程管理器里面查看。二是环境不同,你的julia是否需要某些特定环境变量支持,PHP执行的时候这些环境变量是否都有,可以在PHPINFO()里面查看。
4、要求应该是在客户端网页上发送消息到服务器,然后服务器响应这个消息并执行程序,然后将程序运行结果返回给网页。当然还有一种要求是用网页管理服务端程序,跟远程桌面一样,这个由于篇幅限制不多解释,请自己去搜索VNC这个远程控制台。
5、第一:成功安装好系统,特别是PHP的,都是要先安装完成以后,才可以进入后台。第二:设置相关目录的权限,权限不够,会导致很多修改无法生效。第三:根据网站的类型,选择最合适的程序。下面是一下常用PHP网站程序论坛:Discuz!,phpwind。CMS:DEDECMS,PHPCMS。网店:ecshop,HiShop。
Q4: php调用exe程序
你的PHP环境是在Linux服务器还是Windows服务器上?如果是Linux服务器,那么是不支持exe程序运行的。你的程序需要放在php文件能访问的目录中。当然,你必须能够访问PHP服务器才可以。如果只是客户端,那是没用的。PHP不能访问客户端的程序。system或者exec都可以执行文件。
PHP里面exec其它命令可以成功执行,而调用特定的程序没有成功,我推测有三个方面的原因:一是APACHE的进程(估计是httpd.exe)身份与你命令行执行的是否相同,可以在进程管理器里面查看。二是环境不同,你的julia是否需要某些特定环境变量支持,PHP执行的时候这些环境变量是否都有,可以在PHPINFO()里面查看。
STDOUT全称为standard out或standard output,标准输出可以直接输出到屏幕(也可以输出到其他程序,使用STDIN取得),如果在PHP CLI模式里使用print或echo语句,则这些数据将发送到STDOUT。格式:stdout (’php://stdout’)我们还可以使用PHP函数进行数据流输出。
如果想在一个php里都执行了,直接用php函数exec调用命令运行c++编译完的可执行程序(以下简称为ccccc)好了。。
to fork...,这实际上是因为PHP对cmd.exe没有足够的权限引起的。解决方法:为C:\Windows\System32\cmd.exe(系统不是安装在C盘请相应更改)添加IUSR_ComputerName (ComputerName是你的计算机名称)用户的读取、运行权限,因为exec和shell_exec这两个函数实际上是调用了cmd.exe来执行其它的程序。
exec等只会有返回值,而不会弹出窗口。you know?你可以指定输出和返回值的,看看手册吧。
关于thinkphpexec调用exe和thinkphp313 getshell的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








