常用的PHP命令执行函数及利用方式
2021/9/11 20:06:48
本文主要是介绍常用的PHP命令执行函数及利用方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
PHP命令执行函数常配合代码执行漏洞使用, 利用命令执行函数执行操作系统命令, 从而发起攻击, 接下来就简单分享几个常用的PHP命令执行函数
system();
system()函数可以执行系统命令, 并将命令执行的结果直接输出到界面中, 使用时直接在参数中传入需要执行的命令即可
system('ls');
exec();
exec()函数可以执行系统命令, 但它不会直接输出结果, 而是将执行的结果保存到数组中
exec( 'ls' , $result );
参数1: 字符串类型,需要执行的系统命令
参数2: 数组类型,保存系统命令的执行结果
print_r($result); //输出执行结果
shell_exec();
shell_exec()函数可以执行系统命令, 但它不会直接输出执行的结果, 而是返回一个字符串类型的变量来存储系统命令的执行结果, 在参数中传递需要执行的系统命令即可
echo shell_exec('ls');
passthru();
passthru()函数可以执行系统命令, 并将执行结果输出到页面中, 与system()函数不同的是, 它支持二进制的数据, 更多的用于文件, 图片等操作, 使用时直接在参数中传递字符串类型的系统命令即可
passthru('ls');
popen();
popen()函数可以执行系统命令, 但不会输出执行的结果, 而是返回一个资源类型的变量用来存储系统命令的执行结果, 需要配合fread()函数来读取命令的执行结果
$result = popen( 'ls' , 'r' );
参数1:字符串类型,需要执行的命令
参数2:字符串类型,模式
返回值:资源类型,命令执行的结果
echo fread( $result , 100 );
参数1:资源类型,需要读取的文件指针
参数2:int类型,读取n个字节
返回值:字符串类型,读取的文件内容
echo fread(popen('ls','r'),100);
反引号``
反引号可以执行系统命令, 但它不会输出结果, 而是返回一个字符串类型的变量, 用来存储系统命令的执行结果, 可单独使用, 也可配合其他命令执行函数使用来绕过参数中的过滤条件
echo `ls`;
这篇关于常用的PHP命令执行函数及利用方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享
- 2024-10-20fruitcake/php-cors 该怎么使用-icode9专业技术文章分享
- 2024-10-18PHP7.1可以使用哪个版本的swoole-icode9专业技术文章分享