码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • PHP 危险函数1-OS 命令执行函数


    OS 命令执行函数

    system 函数

    • 特点:

      • 自带输出功能
      • 自动区分系统平台,只需得知目标系统在 system() 中输入对应系统的命令即可
    • 使用

      
      	system("<系统命令>");  
      ?>
      
      • 1
      • 2
      • 3

      如

      <pre>
      <?php
      	system("ipconfig");  
      ?>
      
      • 1
      • 2
      • 3
      • 4

      image-20231025104714862

    • 动态执行命令

      <pre>
      <?php
      	$cmd = $_REQUEST['cmd'];
      	system($cmd);  
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5

      image-20231025105048955

    exec 函数

    • 特点:

      • 不自带输出,需要手动输出
      • 只能输出命令执行的最后一行,几乎没有回显
    • 使用

      
      	exec("<系统命令>");  
      	// 输出需手动
      ?>
      
      • 1
      • 2
      • 3
      • 4
    • 例

      
      	exec("ipconfig");  
      	// 输出需手动
      ?>
      
      • 1
      • 2
      • 3
      • 4

      不自动回显,但执行

      image-20231025105444444

    • 回显(只有最后一行)

      
      	echo exec("ipconfig");  
      ?>
      
      • 1
      • 2
      • 3

      image-20231025105524160

    • 动态执行命令

      
      	$cmd=$_REQUEST['cmd'];
      	echo exec($cmd);
          ?>
      
      • 1
      • 2
      • 3
      • 4

      image-20231025110155444

      image-20231025110219981

    shell_exec 函数

    • 需要手动输出命令执行结果。

    • 使用

      
      	shell_exec("<命令>");
          ?>
      
      • 1
      • 2
      • 3
    • 示例

      
      	$cmd=$_REQUEST['cmd'];
      	echo shell_exec($cmd);
          ?>
      
      • 1
      • 2
      • 3
      • 4

      image-20231025112650395

    passthru 函数

    • 自带输出功能。

      
          passthru("<命令>");
          ?>
      
      • 1
      • 2
      • 3
    • 例

      
          passthru("net user");
          ?>
      
      • 1
      • 2
      • 3

      image-20231025113639532

    • 动态执行

      
      	$cmd=$_REQUEST['cmd'];
      	echo passthru($cmd);
          ?>
      
      • 1
      • 2
      • 3
      • 4

      image-20231025113856701

    popen 函数

    • 在 PHP 中,popen() 函数用于打开一个管道,并返回一个指向该管道的文件指针。允许在 PHP 脚本中执行外部命令或程序,并与其进行交互。

    • 注意,两个参数

      
      	popen(<命令>,"r");  // read,以读取的方式打开
      ?>
      
      • 1
      • 2
      • 3
    • 示例

      
      	$cmd = $_REQUEST['cmd'];
      	$result = popen($cmd, 'r');
      	echo fread($result, 1024);
      	// fread() 函数从管道中读取最多 1024 字节的输出
          ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      image-20231025114936563

    反引号

    • 反引号``内的字符串,会被解析成OS 命令。

    • 不自动输出

    • 使用

      
          `<命令>`;
      ?>
      
      • 1
      • 2
      • 3
    • 示例

      
          echo `whoami`;
      ?>
      
      • 1
      • 2
      • 3

      image-20231025115326998

    • 动态执行

      <pre>
      <?php
      	$cmd=$_REQUEST['cmd'];
      	echo `$cmd`;
          ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5

      image-20231025115520966

  • 相关阅读:
    HTML5学习系列之简单使用1
    mysql的优化(explain的深度分析)
    xilinx primitives(原语)
    利用STM32CubeMX软件生成USB_HOST_HID连接鼠标和键盘扫码枪
    【计算机网络-自顶向下方法】应用层(HTTP、FTP)
    2023年09月青少年软件编程C语言一级真题答案——持续更新.....
    深入理解箭头函数和传统函数的区别
    Nginx常用模块
    基于C#的公交充值管理系统的设计与实现
    小谈设计模式(3)—策略模式
  • 原文地址:https://blog.csdn.net/weixin_51559599/article/details/134031524
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号