首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过PHP拉取shell_exec( )可以在SSH shell中工作,但不能在web浏览器中工作

通过PHP的shell_exec()函数可以执行系统命令,并获取命令的输出结果。这个函数在SSH shell中可以正常工作,但在web浏览器中可能会受到安全限制而无法正常工作。

这是因为在web浏览器中,PHP通常以一个被限制权限的用户(如www-data)运行,而且服务器会有一些安全设置来防止执行危险的系统命令。因此,如果尝试在web浏览器中使用shell_exec()执行命令,可能会遇到权限不足或被禁止执行的问题。

为了解决这个问题,可以考虑以下几种方法:

  1. 使用其他PHP函数:可以尝试使用其他PHP函数来实现相同的功能,而不是依赖于shell_exec()。例如,可以使用exec()函数、system()函数或者passthru()函数来执行系统命令。
  2. 配置服务器权限:如果确实需要在web浏览器中执行shell命令,可以尝试调整服务器的权限设置。具体的方法会因服务器环境而异,可以参考相关的服务器文档或咨询服务器管理员。
  3. 安全性考虑:在web浏览器中执行系统命令存在安全风险,因此需要谨慎使用。建议仅在必要的情况下才使用这样的功能,并确保输入的命令经过严格的验证和过滤,以防止任意命令执行漏洞。

总结起来,通过PHP的shell_exec()函数可以在SSH shell中工作,但在web浏览器中可能会受到安全限制。在实际应用中,需要根据具体情况选择合适的方法来执行系统命令,并注意安全性考虑。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用Github的WebHooks实现生产环境代码自动更新

一般公司的项目都会使用 Git 或者 SVN 进行版本控制,本地开发之后push上去,然后再使用ssh连接线上服务器去手动取代码。...Github 为例,监听dev分支有push动作时,可以自动通过设置的hook通知生产环境的脚本执行git pull取代码,自动更新,非常方便 关于WebHooks 让我们看看 官方 关于Github...PHP 一般使用www或者nginx用户运行,PHP通过脚本执行系统命令也是用这个用户,所以必须确保该用户家目录(一般是/home/www或/home/nginx)下有.ssh目录 我们生成SSH和克隆代码的时候...了解更多 请求头我们可以通过$_SERVER全局变量获得请求的值,比如$_SERVER['X-Hub-Signature'] 然后看一下你的服务器支持不支持shell_exec这个 PHP 函数 确保PHP...正常执行系统命令,写一个PHP文件,内容: echo shell_exec('ls -la'); 通过浏览器访问这个文件,能够输出目录结构说明PHP可以运行系统命令 新建一个 PHP 文件 $target

3.3K20
  • 关于怎么使用 webhooks 自动部署博客,详细教程文档!

    pull 操作 shell_exec("git pull origin main 2>&1"); webhooks 配置完成以后,当我们再通过 git push 把本地代码推送到仓库(Github/Gitee...模块以后,还需要对 PHPphp.ini 进行更改,删除 disable_functions 下的 exec、shell_exec,这样才能在 webhooks.php 文件,执行脚本命令。...的 disable_functions = {exec、shell_exec} 删掉,那么执行这个 php 文件的脚本指令会报错。...有了这个公钥的配置,我们通过 webhooks.php 的脚本指令就可以自动的取代码了。...'done'; 我们从 Github 克隆下来的代码文件,有一个名为 webhooks.php 的文件,它是用于处理 Github 回调时 Github 对应博客代码库的脚本文件。

    2.8K10

    tp6+webhook 实现自动部署

    权限的用户,2.可配置全局git账号执行git指令时就无需输入账号密码3.我们下面用到的shell_exec()函数就是默认这里的user用户7.安装tp6 框架写自动的脚本邮箱Email.php控制器先安装邮箱的依赖环境执行...$e); } }}如果这里使用 exec,shell_exec,system等函数报错需要修改php.ini文件 的 disable_functions = 将此选项的 exec...,shell_exec,system 找到给删掉 重启php即可将上述的文件提交到git以后,取到服务器,之后随便修改一些地方进行测试提交推送到gitee提交完以后等待gitee响应完成后webhook...就可以看到如下图片 上面就是提交代码的记录详情内容如下,也可以看自己的邮箱图片 我这里没有改动文件提交所以这里是没有取到,每次gitee仓库提交后,webhook就会去请求上面的接口,没有新文件改动就不获取....我这里是自己重新请求的以上自动化部署的脚本就完成了.坑点:phpshell_exec()等函数是被禁用的需要手动开启,其次执行shell_exec()函数默认用户设置的是你www下的目录,所以会执行失败

    769130

    Linux系统下一招简单解决CC攻击

    一,准备工作 1,登录进VPS控制面板,准备好随时重启VPS。 2,关闭Web Server,过高的负载会导致后面的操作很难进行,甚至直接无法登录SSH。...”); shell_exec(“echo $_SERVER[‘REMOTE_ADDR’] >> proxy.txt”); }else{ shell_exec(“echo $_SERVER[‘REMOTE_ADDR...然后ip.php里加入下面一行 shell_exec(“echo $_SERVER[‘HTTP_HOST’] >> domain.txt”); domain.txt里将保存被访问过的域名,被CC攻击的站点将在里面占绝大多数...> 用下面的命令执行脚本(确保php命令PATHphp ban.php 这个脚本依赖于第二段ips.txt里保存的结果,当其中记录的IP访问次数超过10次,就被当作攻击源给屏蔽掉。...(1)REMOTE_ADDR总是Web服务器最接近的一台主机的IP,如果没有使用代理,这个值就是访问者本身的IP,如果使用了代理,这个值就是 代理服务器的IP,如果通过多个代理服务器进行的连接,这个值就是到达

    1.2K20

    【技术种草】腾讯云使用Webhook自动部署我的多个站点的博客

    pull 操作 shell_exec("git pull origin main 2>&1"); webhooks 配置完成以后,当我们再通过 git push 把本地代码推送到仓库(Github/Gitee...,还需要对 PHPphp.ini 进行更改,删除 disable_functions 下的 exec、shell_exec,这样才能在 webhooks.php 文件,执行脚本命令。...的 disable_functions = {exec、shell_exec} 删掉,那么执行这个 php 文件的脚本指令会报错。...[](https://bugstack.cn/images/article/devops/devops-1107-08.png) - 有了这个公钥的配置,我们通过 webhooks.php 的脚本指令就可以自动的取代码了...'done'; 我们从 Github 克隆下来的代码文件,有一个名为 webhooks.php 的文件,它是用于处理 Github 回调时 Github 对应博客代码库的脚本文件。

    6.4K381

    命令执行与代码执行漏洞原理

    PHP的system,exec,shell_exec等,当用户可以控制命令执行函数的参数时,将可注入恶意系统命令到正常命令,造成命令执行攻击。...漏洞危害 继承Web服务程序的权限去执行系统命令或读写文件 反弹shell 控制整个网站甚至控制服务器 进一步内网渗透 代码执行与命令执行的区别 命令执行漏洞: 直接调用操作系统命令(相当于cmd下敲命令...) 命令执行漏洞的原理:操作系统,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致没有指定绝对路径的情况下就执行命令(如添加一个名为admin...Shell_exec:执行shell命令并返回输出的字符串,函数原型如下: string shell_exec (string command) 其中,command是要执行的命令。...web应用通过system函来调用: system("/bin/program --arg$arg"); 2.系统的漏洞造成命令注入 bash破壳漏洞(CVE-2014-6271) 3.调用的第三方组件存在代码执行漏洞

    2.4K30

    Apache配置的安全问题

    禁用目录浏览选项,Directory,将 Indexes 去掉。 禁用符号链接追踪功能,避免恶意用户通过符号链接访问系统文件。禁用 FollowSymLinks 选项。...安装Apache后,可以通过./httpd -l 查看安装的模块。 如果不需要安装,在编译阶段可以通过configure命令指定。 1.4 为conf和bin文件夹设置合适的权限。...expose_php = Off 2.2 关闭错误提示 display_errors = Off 2.3 禁用危险的系统函数 disable_functions = system,exec,shell_exec...,passthru,popen,fsockopen,chmod,rmdir,opendir 这个选项只能在 php.ini 配置,无法单独的虚拟机上配置 2.4 限制可以打开的目录 这个配置的目的相当于为项目创建一个沙盒... php.ini 配置 open_basedir 参数 3、其他方法 3.1 勤打补丁 定期查看是否有软件的升级补丁,发生紧急漏洞修复补丁时,第一时间为自己的系统安装补丁。

    1.1K30

    Centreon v19.04远程执行代码漏洞

    函数,此函数应该更新一些值并将它们添加到数据库,因此我们可以从配置页面控制一个名为nagion_bin的用户输入并将我们的恶意代码注入其中,此参数第551行处理,此参数将从数据库调用并传递给generateFiles.php...文件shell_exec函数行,所以我们稍后可以调用generateFiles.php来触发有效负载。...初始结果包含大量使用“shell_exec,popen,system”函数的函数,经过一些分析后,注意到include / configuration / configGenerate / xml /...为了更好地理解代码,我使用burp通过播放请求来实现这一点,并了解如何处理所需的值。 ? burp,我们可以提交后看到以下请求: ?...利用写作 确认RCE之后,我想在python编写一个漏洞利用代码来自动化开发过程,并通过一次单击给你一个shell,漏洞利用写作阶段对我来说非常有趣,这里是完整的漏洞利用代码: https://gist.github.com

    1.1K30

    谁说NAS没有娱乐性?NAS可搭建小游戏合集,快看看有你喜欢的吗? - 熊猫不是猫QAQ

    部署其实也很简单,我们首先需要打开群晖的SSH功能,随后用SSH工具连接上NAS输入sudo -i获取管理员权限,再输入以下命令镜像:docker pull kaminskypavel/mario...图片 完毕 完之后我们直接命令行启动也行,对于小白可以转到群晖的docker UI界面直接启动,只需要将端口8080映射到本地即可。...首先我们新建一个txt文件,文件复制粘贴以下内容: FROM centos:7 ADD http://23126342.s21d-23.faiusrd.com/0/ABUIABAAGAAg1M3F9wUoxOzFiwY...随后放到docker文件夹。 图片 准备工作 随后我们还是链接群晖获取管理员权限,然后输入docker build -t rpggame .进行容器构建。...图片 容器 完之后还是再UI界面直接映射80容器端口就可以了,随后浏览器输入ip+端口号就能看到游戏的主界面了!还真是怀念呢。

    1.5K30

    PHP实现执行外部程序的方法详解

    分享给大家供大家参考,具体如下: 一些特殊情况下,会使用PHP调用外部程序执行,比如:调用shell命令、shell脚本、可执行程序等等,今天源码中了解了一下PHP执行外部程序的方法,借此机会顺便整理一下...源码 exec.h文件,列出了可调用外部程序的几个函数,蓝色框里的两个函数只是辅助作用,本文只对其他几个函数做介绍。..." } 注意: ① 输出结果会逐行追加到$output,因此调用exec之前需要unset($output),特别是循环调用的时候。...&", $output, $var); shell_exec() 函数 原型:string shell_exec( string command) 描述:通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回...: exec函数将输出结果保存在第二个参数上; shell_exec函数没有参数接收返回值,而且没有执行成功的状态码;/ / system函数将执行的结果直接输出;passthru函数同system函数

    97130

    一文带你网络安全 入门到入*

    shell2.php http://10.3.139.173/dvwa/hackable/uploads/shell2.php?...>(hello可以改) 地址栏用参数一条一条地操作 http://10.3.139.173/dvwa/hackable/uploads/shell2.php?...)即web踩点,主要是掌握目标Web服务的方方面面,是实现web渗透入侵前的准备工作 Web踩点内容包括操作系统、服务器类型、数据库类型、web容器、web语言、域名信息、网站目录… Web信息搜集涉及搜索引擎...安全评估系统最大的差别,通过拓展模块,可以加载自己开发的、或者第三方模块,打造自己的burpsuite功能通过burpsuite提供的API接口,目前可以支持Java、Python、Ruby三种语言的模块编写...九、SSH密码暴力破解及防御实战 ? 1、hydra [海德] **海德(Hydra):**希腊神话的九头蛇,是西方的神话生物,古希腊神话中出现最为频繁。

    5.1K21

    composer私有仓库搭建之系列二:web页面实现仓库列表更新

    指定生成或者更新 php bin/satis build satis.json public/ test/test1 test/test2 可以通过phpshell_exec函数实现此功能 主要代码如下...,可以通过shell_exec('php -i');测试是否有可执行权限 c.是否有目录的可执行权限,涉及到的目录有 /data/wwwroot/satis/bin/satis /data/wwwroot...,因为命令执行时候会取代码,这个时候会提示输入gitlab的账号和密码,记得选择yes就行了,账号或者密码一般会存储在用户的家目录下.composer目录里面 ?...这样在网页点击更新按钮的时候就可以正常更新了。 ? 如果过程遇到问题,主要可能是shell_exec,执行报错,可以通过输出错误结果进行排查 <?...php //命令行后面跟上2>&1,中间有空格,就可以输出整个命令执行的结果 $output = shell_exec('php /data/satis/composer/bin/satis build

    75410

    一文详解Webshell

    通过这种方式,黑客就可以一种低调的姿态,避免与管理员进行任何交互,同时仍然获得相同的结果。 提权 服务器没有配置错误的情况下,Webshell将在web服务器的用户权限下运行,而用户权限是有限的。...shell_exec() shell_exec()函数类似于exec(),但是,其整个输出结果为字符串。 ? ? passthru() passthru()执行一个命令并返回原始格式的输出。 ?...(4)通过可控输入实现混淆 PHP常用的可控输入包括: GET, POST, REQUEST,FILES,SERVER COOKIE等,是PHP预定义的变量,可以将黑客自定义的值传递给浏览器。...agent.php 包含以下编码文件。 ? 将agent.php重命名为ma.php,然后将其上传到失陷的服务器。然后,我们不使用浏览器访问文件,而是使用shell连接到该文件。 ? ?...敏感目录(如图片或上传)禁用PHP执行。 锁定Web服务器用户权限。 上面给出的是一些简单的Webshell检测和预防措施。

    2.5K00
    领券