【禁用php的system函数以获取shell访问】教程文章相关的互联网学习教程文章

如何使用PHP的实时反馈运行shell脚本?【代码】

在向浏览器提供持续/实时反馈的同时,如何从PHP执行Shell脚本?我从system功能文档了解:The system() call also tries to automatically flush the web server’soutput buffer after each line of output if PHP is running as a servermodule.我不清楚将其作为“服务器模块”运行的含义. 示例PHP代码:<?phpsystem('/var/lib/script_test.sh');示例shell代码:#!/bin/bashecho "Start..." for i in {1..10} doecho "$i..."sleep ...

PHP-我如何反向escapeshellarg?

好吧,标题说明了一切.在PHP中,我该如何反向escapeshellarg()?更准确地说,什么是内置函数(如果有的话)将其反转.解决方法:最彻底的方法是找出exactly what escapeshellarg() does,然后执行相反的操作.在linux环境中,看起来它只是在处理单引号.在Windows环境中,它要做的更多.您的反向功能也应考虑到这一点. 关于内置功能:简短的答案是“没有一个.”长答案是:没有一个,因为转义的shell参数永远不会被PHP解析(为什么要先转义它们?),...

当使用php exec()运行shell脚本时,一个脚本有效(仅执行git status),一个不起作用(执行git checkout).怎么会?【代码】

我正在尝试建立一个基于Web的门户,通过该门户我们可以通过简单地单击后端面板来检出Git存储库的不同分支. 所以目前,我有/ var / www / devportal,其中包含index.php,status.sh和checkout.sh 在index.php中,我执行以下操作:$repo = $_GET['repo']; $command = 'sh status.sh ' . $repo; $output = exec($command); echo "<pre>$output</pre>";status.sh的内容是:#!/bin/bash -e if [ $# -ne 1 ] thenecho "Usage: `basename $0` <...

Linux如何使用shell命令检测PHP木马防止脚本木马的破坏

1、一句话查找PHP木马代码如下# find 。/ -name “*.php” |xargs egrep “phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decoolcode|spider_bc”》 /tmp/php.txt# grep -r --include=*.php ‘[^a-z]eval($_POST’ 。 》 /tmp/eval.txt# grep -r --include=*.php ‘file_put_contents(.*$_POST\[.*\]);’ 。 》 /tmp/file_put_contents.txt# find 。/ -name “*.php” -type f -print0 | xargs -0 egrep “(p...

php shell_exec bash.exe在Window XP IIS中不起作用【代码】

generateb.php<?php if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {echo 'This is a server using Windows!';$output = shell_exec("C:\\cygwin\\bin\\bash.exe --login -c C:\\cygwin\\bin\\mysql2sqlite.sh -h 127.0.0.1 -u root -pApacheah64 db_shuttlebus tbl_driver tbl_location tbl_rate tbl_route tbl_routeid tbl_vehicle | C:\\cygwin\\sqlite3.exe C:\\Inetpub\\wwwroot\\BusTicket\\exportdatabase\\database.s...

用PHP shell_exec()循环:使用php for()或bash做完吗?【代码】

假设我想用PHP shell_exec()执行命令mycommand 10次.我应该做一个bash循环:shell_exec('for i in {1 .. 10} do mycommand -i done');或更确切地说是一个PHP循环:for($i = 1; $i <=10; ++$i) { shell_exec('mycommand -'.$i); }选择一个而不是另一个的原因(安全性,性能,样式…)是什么?解决方法:进行bash循环,因为shell_exec函数仅被调用一次.这将比多次调用shell_exec更快.启用exec,shell_exec之类的功能本身就是一个巨大的安全问...

php检查shell_exec命令是否成功【代码】

我基本上想检查是否使用shell_exec成功执行了命令. 功能简单:public static function foo() {$command = "blabla";shell_exec($command); }编辑,我尝试过M先生的建议,如下所示:foreach($commands as $key => $value){shell_exec($value, $output, $return);}我得到这个错误:Undefined variable: output解决方法:尝试使用execexec($command, $output, $return);if ($return != 0) {// error occurred }else{// success }

javascript-快速查看Rhino Shell中的对象(等同于PHP var_dump?)【代码】

在Rhino中,有没有比每次都键入更好的调试方法了? :for (prop in obj) { print("obj[" + prop + "] = " + obj[prop]); };更新:明确地说,我的问题是关于此主题是否存在任何现有的标准实践/模块/技巧.解决方法:obj.toSource()将进行基本检查.

PHP-WebShell-Bypass-WAF【代码】

PHP-WebShell-Bypass-WAF PHP WebShell 一句话的结构是:输入和执行,这是经典的PHP 一句话代码: <?php eval($_GET[test]); ?><?php eval($_POST[test]); ?>WebShell 的输入点在$_GET 和$_POST ,执行点在eval() ,经典的一句话WAF 都会拦截 测试:<?php eval($_GET['test']); ?>测试:<?php $_GET['test']; ?>测试:<?php eval(); ?>综合上面三点,可以发现WAF 是通过关键字来拦截的,把这三个测试用例放到安全狗下测试可以发现,安全狗是...

使用PHP脚本运行Shell命令

我正在使用CodeIgniter创建应用程序,但是无法使用PHP脚本运行Linux命令. 如何运行终端命令? 我已经试过了shell_exec()和exec(),但是在使用CI时都无法正常工作.解决方法:如果功能被禁用,那取决于您的服务器配置,您需要在php.ini中启用它们.以下是一些替代方案: > popen()>或者如果您需要交互方式,请尝试proc_open()> system()

PHP和shell_exec【代码】

我有一个PHP网站,我想在后台执行一个很长的Python脚本(300 MB内存和100秒).流程通信通过数据库完成:当Python脚本完成其工作时,它将更新数据库中的字段,然后网站根据Python脚本的结果来呈现一些图形. 我可以从bash(任何当前目录)“手动”执行Python脚本,并且可以正常工作.我想将其集成到PHP中,并尝试了函数shell_exec: shell_exec(“ python / full / path / to / my / script”)但不起作用(我看不到任何输出) 你有什么想法或建议...

Linux-在Shell脚本中操作数组(由php-cli打印)【代码】

我是使用Shell脚本的新手,今天学到了很多东西.这是对该问题的扩展Assigning values printed by PHP CLI to shell variables 我得到了在shell脚本中读取变量的解决方案.现在如何操作数组?如果我在PHP代码中准备一个数组并进行打印,然后在我的shell中回显,它将显示Array.如何在shell脚本中访问该数组?我尝试了how to manipulate array in shell script中给出的解决方案 使用以下代码:-PHP代码$neededConstants = array("BASE_PATH...

在PHP中使用bash shell【代码】

在我的终端窗口中(使用Max OS X),我的外壳是bash.但是,当我通过shell_exec或反引号运算符在PHP中运行命令时,我看到PHP正在使用Bourne Shell(sh).这是我所看到的示例: 在我的终端窗口中:$echo $0 - bash另外,如果我按如下方式调用php:$php -r "echo shell_exec('echo $0');" -bash但是,如果我使用以下命令创建一个名为test.php的脚本:<?php echo shell_exec('echo $0'); ?>然后运行测试PHP,我得到以下信息:$php test.php sh我想...

php-如何在系统,exec或shell_exec中运行多个命令?【代码】

我正在尝试从php运行这样的shell命令:ls -a | grep mydir但是php仅使用第一个命令.有什么办法可以迫使php将整个字符串传递给shell? (我不在乎输出)解决方法:http://www.php.net/manual/en/function.proc-open.php 首先打开ls -a读取输出,将其存储在var中,然后打开grep mydir写入从ls -a存储的输出,然后再次读取新的输出. L.E:<?php //ls -a | grep mydir$proc_ls = proc_open("ls -a",array(array("pipe","r"), //stdinarray("p...

php shell_exec触摸重定向和adduser【代码】

我试图最终使用php的shell_exec函数创建新的Linux用户.但是,即使进行调试,我也遇到了问题.这是我的代码<?PHP function adduser($username,$password,$server){ try{//3 debug statements$output=shell_exec("pwd"); echo $output;shell_exec("touch test.txt");//3 debug statements are requested by Christianecho '<pre>';print_r(execute('pwd'));print_r(execute('touch test.txt'));//actuall code$output=shell_exec("ssh r...

SYSTEM - 相关标签