首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏WordPress技巧

    PHP执行Shell脚本或Bash脚本文件并返回命令输出详情

    PHP执行shell脚本或者Bash脚本文件实例。system和exec函数可能被配置文件禁用,可以通过修改php配置文件删除被禁用的函数。1.通过system函数执行使用实例:<? /bin/bash开头,指示命令解释器,需要执行的命令每行一个,以;结尾,内容结尾可不带换行,否则status获取的是换行执行的结果(即空),if判断为空值则会输出命令执行失败,但实际上结尾换行符以上的命令是实际执行成功的 php$shell = "bash dig.sh";echo "

    ";system($shell, $status);echo "
    ";//注意shell命令的执行结果和执行返回的状态值的对应关系 php $shell = "bash dig.sh"; exec($shell, $result, $status); $shell = "$shell执行效果如下:原文地址:https://www.afengblog.com/php-executes-shell-script-or-bash-script.html

    3.5K20编辑于 2022-10-29
  • 来自专栏self_study

    SHELL(bash)脚本编程六:执行流程

    bash命令的执行分为四大步骤:输入、解析、扩展和执行。 本文将详述bash命令的一般处理过程: 如图所示 ? 输入 交互模式 在交互模式下,输入来自终端。 在将编辑缓冲区的内容交给bash之前,Readline会执行历史扩展(见这里),之后由bash负责将本条命令存储到历史列表并进入下一步骤。 非交互模式 在非交互模式下,输入一般来自文件。 执行 不同类型的命令,bash执行方式有所差异。 复合命令 bash中每种复合命令都使用一个C函数来实现,功能包括执行恰当的展开(如for循环中关键词in后面的单词),执行特定的命令,根据命令的返回值来变更执行流程等等。 7、执行完毕后,bash收集命令的返回值。 这些,就是bash执行命令的整个流程。

    2.4K40发布于 2019-04-11
  • 来自专栏三木的博客

    bash配置文件的执行顺序

    bash为例,配置文件的读取顺序如下: /etc/profile 如果是图形界面登陆系统,读取~/.profile,bash配置完毕。 如果是命令行或者ssh登陆系统,读取~/.bash_profile,bash配置完毕。 如果是命令行或者ssh登陆系统,且~/.bash_profile不存在,读取~/.bash_login,bash配置完毕。 如果是命令行或者ssh登陆系统,且~/.bash_profile,~/.bash_login不存在,读取~/.profile,bash配置完毕。

    1.8K50发布于 2018-02-07
  • 来自专栏《C++与 AI:个人经验分享合集》

    如何优化 Bash 脚本的执行效率?

    要优化 Bash 脚本的执行效率,可以考虑以下几个方面: 减少命令执行次数:Bash 脚本中的命令执行是比较耗时的,在可能的情况下,可以尽量减少命令的执行次数。 使用内建命令:Bash 提供了一些内建命令(built-in commands),这些命令不需要启动新的进程,执行速度比外部命令快。例如,可以使用内建的 cd 命令代替外部的 cd 命令。 避免不必要的子进程:Bash 脚本中的子进程启动和销毁是比较耗时的。因此,尽量避免创建不必要的子进程。 使用并行处理:如果脚本中有独立的任务可以并行执行,可以使用 Bash 的并行处理功能来提高执行效率。 避免过多的文件操作:文件操作也是比较耗时的,尽量避免不必要的文件操作。 综上所述,通过减少命令执行次数,使用内建命令和避免不必要的子进程,使用并行处理,避免过多的文件操作,以及使用合适的数据结构和算法,可以有效地优化 Bash 脚本的执行效率。

    1.5K00编辑于 2024-12-09
  • 来自专栏HackTheBox渗透学习记录

    php命令执行

    一、命令执行相关知识 0x01. 什么是命令执行 :让php文件去执行cmd命令. 在命令行中使用echo “” > 1.php: 写一句话木马到1.php文件. . php哪些函数可以做到命令执行: 1.system(‘whoami’): php操纵计算机执行whoami命令,并且输出结果,可以看到多行 2.echo exec(‘whoami’): php操纵计算机执行命令之后获取最后一行结果 ,需要配合echo使用 3.echo shell_exec(‘whoami’): php操纵计算机执行命令之后,获取所有结果,但是不会自动输出,需要配合echo使用 4.passthru: 只调用命令 substr()函数 通过获取环境变量,对环境变量进行字符切割获得.然后拼接执行 echo %PATHEXT:~0,1%成功输出1.php 二、靶场-本地测试 靶场采用的是ibos4.5.5版本, 这时候可以拼接恶意语句,利用命令执行函数去生成一个带有一句话木马的php文件 构造语句:filename=xxbaqwe&echo "<?php eval($_REQUEST[1])?

    7.5K30编辑于 2022-03-08
  • 来自专栏PHP在线

    php异步执行

    开发中遇到了群发邮件慢的问题,找到了以下方法,还不错分享下: PHP异步执行的常用方式常见的有以下几种,可以根据各自优缺点进行选择: 1.客户端页面采用AJAX技术请求服务器 优点:最简单,也最快,就是在返回给客户端的 HTML代码中,嵌入AJAX调用,或者,嵌入一个img标签,src指向要执行的耗时脚本。 而使用img标签的话,这种方式不能称为严格意义上的异步执行。用户浏览器会长时间等待php脚本的执行完成,也就是用户浏览器的状态栏一直显示还在load。 2.popen()函数 该函数打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生。打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生。 使用代码如下: pclose(popen("/home/xinchen/backend.php &", 'r')); 优点:避免了第一个方法的缺点,并且也很快。

    4.1K120发布于 2018-03-08
  • 来自专栏涛的程序人生

    Bash执行命令显示进度和结果

    @TOC Bash执行命令显示进度和结果 1.代码 #! /bin/bash #******************************************************** #Author: yangruitao #Date: 2021-

    2.4K40发布于 2021-02-02
  • 来自专栏涛的程序人生

    Bash执行命令显示进度和结果

    文章目录 Bash执行命令显示进度和结果 1.代码 2.测试效果 Bash执行命令显示进度和结果 1.代码 #! /bin/bash #************************************************************* #Author: yangruitao #Date:

    1.5K30编辑于 2021-12-06
  • 来自专栏运维监控日志分析

    Linux 审计Bash执行命令 存储归档

    BASH 将关闭 终端会话时所运行的所有命令,并写入你的历史记录文件。 ~/.bash_history 当你同时运行两个会话的时候,history 命令将单独显示当前的会话记录,而不会显示其他的历史会话记录。 如何查阅最后的“ n ”命令 默认情况下,history 命令显示我们执行的最后1000条命令。如果你只想列出“ n ”个命令,请使用以下命令。 例如,显示最近的10个历史记录,请运行以下命令。 10 按条件搜索历史命令 $ history | grep rm $ history | tail -2 清除历史 1.如果想要删除特定命令,请输入 :history -d 2.要清空全部历史记录,请执行 a” 3.5 使用 HISTCONTROL 强制 history 不记住特定的命令 可以在.bash_profile里配置 HISTCONTROL=ignorespace 然后执行具体命令(如ls)的时候面输入一个空格

    8.1K10发布于 2021-07-29
  • 来自专栏Linux基础入门

    (19)Bash多命令顺序执行与管道符

    一、多命令执行符 多命令执行符 格式 作用 ; 命令1 ;命令2 多个命令顺序执行,命令之间没有任何逻辑联系,就算第一条报错,第二条也会执行 && 命令1 && 命令2 逻辑与:当命令1正确执行,则命令 2才会执行;当命令1执行不正确,则命令2不会执行 || 命令1 || 命令2 逻辑或:当命令1执行不正确,则命令2才会执行 当命令1正确执行,则命令2不会执行 1." &&"逻辑与 例1:第一条命令正确执行,则会执行第二条命令;第一条命令报错,第二条命令则不再执行 ? 这样做有什么意义吗? 有,我们有些命令,需要前一条命令正确执行,第二条命令才可以执行,比如说软件包安装(如下),这样就可以自动安装了,不需要等待一条一条输入命令了 #. ||"逻辑或 例1:第一条命令正确执行,第二条命令就不执行了;第一条命令报错,第二条命令才执行 ?

    1.4K10发布于 2020-08-26
  • 来自专栏康怀帅的专栏

    PHP 执行 Shell 命令

    shell_exec() string shell_exec(string $cmd) 以 字符串 形式返回执行的全部结果。 echo `ls`; 其他 请查看:http://php.net/manual/zh/ref.exec.php

    4.2K70发布于 2018-02-28
  • 来自专栏陶士涵的菜地

    PHP的脚本执行

    PHP的脚本执行PHP的脚本执行还是会经过编译环节, 只不过它们一般会在运行的时候实时进行编译 1.启动PHP及Zend引擎, 加载注册的扩展模块 2.读取脚本文件,Zend引擎对脚本文件进行词法分析 3.编译成opcode执行 4.如果安装opcode缓存扩展(如APC, xcache, eAccelerator等),可能直接从缓存中读取opcode执行 脚本的编译执行: 1.读取脚本,通过lex按照词法规则切分一个一个的标记 3.Zend引擎将代码编译为opcode 4.PHP是构建在Zend虚拟机(Zend VM)之上的。PHP的opcode就是Zend虚拟机中的指令。

    2.7K30发布于 2019-09-10
  • 来自专栏Java架构师必看

    php执行URL解析

    方法一:$url=http://www.baidu.com;file_get_contents(网络

    3.2K20发布于 2021-03-22
  • 来自专栏程序技术知识

    定时执行php脚本

    使用PHP定时执行某些任务的话, 可以有以下两个方法: 1. linux下crontab, windows下计划任务 2. 示例:创建index.php和test.txt,功能是往test.txt里每秒覆盖写一个数字,该数字递增。index.php代码如下: <? /test.txt',$num); $num++; sleep(1); }while(true); 关闭浏览器后,发现依然能执行脚本,该数字依旧递增。 原因是这关键的两个函数在起作用: ignore_user_abort(true)无论客户端是否关闭浏览器,下面的代码都将得到执行。 set_time_limit(0) 取消php文件的执行时间,如果没有这个函数的话,默认php执行时间是30秒,也就是说30秒后,这个文件就say goodbay了。

    3.8K00编辑于 2022-04-23
  • 来自专栏耕耘实录

    Bash shell中bash、sh、source及“.”点等五种执行方式的区别与联系

    三、具体探讨这几种执行方式的区别与联系 bash、sh分别执行a.sh和b.sh [Geeklp@Geeklp-BashShell ~]$ bash a.sh My name is Geeklp .I /a.sh bash: ./a.sh: 权限不够 这个点与执行脚本之间无空格,表示执行当前目录下的a.sh脚本,相当于~/a.sh。b.sh也是一样的结果,无需讨论。 (无空格)来执行脚本时需要给需要执行的脚本加上执行权限,否则无法执行。加了权限之后,执行效果与bash及sh一致,不继承变量。 四、结论 bash与sh在对于脚本执行来说,效果一致,不继承除了当前shell之外的变量值。在无空格“.”(相对路径)、绝对路径且有执行权限的脚本执行中,效果与bash及sh一致。 bash、sh、不带空格的点(相对路径)或绝对路径中,脚本是在子进程中执行的。在source及带空格的点中,脚本是在父进程中执行的,差别很大。

    4.1K10发布于 2018-12-20
  • 来自专栏全栈程序员必看

    php代码执行函数_php代码如何运行

    ** php代码执行函数解析 ** ​一、代码执行漏洞原理: 用户输入的数据被当做后端代码进行执行 <?php @eval($_REQUEST[8])? 现在只要渗透的最终情况可以实现执行命令或者是代码都属于RCE,例如代码执行、文件包含、反序列化、命令执行,甚至是写文件Getshell都可以属于RCE 在PHP存在诸多函数可以做到代码执行。 为了方便把要执行的代码写为$a 1.eval($a); //eval是代码执行用的最多的,他可以多行执行 eval(\$_REQUEST['a']); 2.assert(a); //只能单行执行 assert (\_REQEUST['a'])//如何多行执行呢 写文件然后执行,例如: file_put_contents('1.php','<? 6.特殊组合(双引号二次解析) PHP版本5.5及其以上版本可以使用 “{phpinfo()}”; => 代码执行phpinfo() php的字符串是可以使用复杂的表达式。

    18.3K20编辑于 2022-11-10
  • 来自专栏电光石火

    PHP定时执行任务

    PHP定时执行任务有两种方式: 一、Linux 服务器 Linux原生支持crontab,所以可以利用这一功能做定时任务 步骤: 1、编辑crontab文件: Linux:crontab -e 2、输入代码 http://www.website.com/Index/test方法  第二项代表curl所在目录,  第三项代表所要执行的url  (若要执行PHP文件,与此格式类似,具体百度之。。) esc :wq 保存 二、Windows服务器: Windows服务器可以利用系统的计划任务实现 步骤: 1、创建一个bat批处理文件,如: D:\xampp\php\php.exe -q D:\xampp \htdocs\test.php 保存为test.bat,第一项为php.exe所在目录,第二项为需要执行php文件路径 2、test.php文件写入: <? > 此仅为测试用,具体代码可自行编写(本例是只要执行test.bat,就调用test.php,往test.txt里面写入一段字符串) 3、设置系统计划任务,定时执行test.bat O(∩_∩)O哈哈~

    2.6K00发布于 2019-12-06
  • 来自专栏代码审计

    PHP命令执行学习总结

    前言 最近学习了PHP命令执行,内容比较多,把自己学到的总结下来,加深理解,水平有限,欢迎大佬斧正。 什么是PHP命令注入攻击? PHP命令注入攻击存在的主要原因是Web应用程序员在应用PHP语言中一些具有命令执行功能的函数时,对用户提交的数据内容没有进行严格的过滤就带入函数中执行而造成的。 命令执行函数利用 一、system函数 先来看一下php学习手册对这个函数的解释,如图 ? 接下来如果我们构造如下代码,目的是获取本地用户信息并输出 <? > eval注入攻击利用 除了上面的一些函数,还有eval函数,eval函数的作用是将字符串当作php代码执行,这个函数相当的危险,因为它允许执行任意 PHP 代码,看到eval的第一眼是不是很熟悉? 我们发现我们提交的字符串“phpinfo();”经过eval函数的处理后,可以按照PHP函数进行执行,并将结果反馈给我们,那么执行相应的其他PHP函数,如写入文件,查询文件信息等功能的代码字符串时,同样可以执行

    1.5K20发布于 2020-09-27
  • 来自专栏小孟开发笔记

    php怎么执行shell命令

    要在PHP执行shell命令,可以使用exec()函数、shell_exec()函数或system()函数。 exec()函数: exec(command, output, return_var); 复制代码 command:要执行的shell命令。 output:可选参数,用于存储命令的输出结果。 shell_exec()函数: $output = shell_exec(command); 复制代码 command:要执行的shell命令。 ); 复制代码 command:要执行的shell命令。 在某些环境下,可能需要在PHP配置文件中启用相关函数。

    1.1K10编辑于 2024-08-09
  • 来自专栏雪碧君终将成长

    macos定期执行php脚本

    在CentOS下可以通过shell脚本执行定时任务 在macos下 有类似的功能 使用crontab crontab的格式: f1 f2 f3 f4 f5 program # 分(0-59) 时(0- php项目呢 首先crontab -e打开定时任务 */10 * * * * /usr/bin/php /Library/WebServer/Documents/...test.php >>/Library /WebServer/Documents/...test.log */10 表示 每10分钟执行一次 >> 表示 追加输出到 test.log文件 > 表示覆盖输出到test.log php目录需要使用绝对位置 否则不会以root权限执行,会出现执行时的目录权限问题。 除了命令行php方式运行,还可以用 wget,curl方式打开本地的php脚本 譬如: * * * * curl http://localhost/...test.php > /Desktop/test.log

    1.6K20编辑于 2023-02-15
领券