首页 > 其他分享 >ctf.show新手必刷_菜狗杯 杂项签到/损坏的压缩包/谜之栅栏/你会数数吗/你会异或吗

ctf.show新手必刷_菜狗杯 杂项签到/损坏的压缩包/谜之栅栏/你会数数吗/你会异或吗

时间:2023-12-22 22:12:15浏览次数:35  
标签:菜狗杯 show 签到 50 异或 png file 压缩包 字节

杂项签到

下完压缩包打开获得一张糊糊的图片

丢进010editor看一下,既然是签到,会不会直接就藏在里面呢..
ctrl+F搜下ctf,找到flag:

(小提示:记得把查找的对象从Hex Bytes换成Text)

损坏的压缩包

打开压缩包,发现打不开,确实是损坏的压缩包。损坏的话可能是格式不太对,或者格式对了但是内容有问题

图片的格式可以用dat图的前两个字节来区别, jpg= FF D8,png =89 50,gif =47 49,Bmp=42 4D

丢进010editor看下,前两个字节是89 50,这个文件头标识对应的是png。把文件的后缀改成png就能正常显示了。

揣测了一下出题人出这道题,感觉很好出的,只要随便找张图片拿画图软件画上flag,然后把前两个字节改掉

谜之栅栏

打开压缩包发现两张图片,标题叫找不同,丢进010发现前面的部分都很像,我翻到后面的部分看了下发现结尾的部分也很像,坏了真成找不同了。。

当然不能自己来找不同,很多软件自带对比功能,这个肯定也有。Tools->Compare File,然后就发现了不一样的一段:

最开始看到两边各有一个{和},以为直接拼起来,试了一下错了,截取出来后才发现

上下看就好了。

你会数数吗

打开文件(如果用记事本打开可能看不了,最开始还没下010用pycharm开的,pycharm居然可以开欸)发现这么一串字符

其实第一题做的是这题,看到{}以为是某种特征,要把{}作为分隔符去破解密码,还去搜了什么加密方式会有{}这样的字符

看了题解,题目提示“你会数数吗”,统计每个字符出现的词频,然后降序排列,得到

#include<bits/stdc++.h>
using namespace std;
struct node{
	char c;
	int val;
};
bool mycmp(node a,node b){
	return a.val>b.val;
}
int main(){
	freopen("lys.in","r",stdin);
	string s;
	cin>>s;
	int n=s.length();
	map<char,int>mp;
	for(int i=0;i<n;i++){
		mp[s[i]]++;
	}
	int cnt=0;
	node a[30];
	for(auto it=mp.begin();it!=mp.end();it++){
		a[++cnt]=(node){it->first,it->second};
		cout<<(it->first)<<" "<<(it->second)<<endl;
	}
	sort(a+1,a+cnt+1,mycmp);
	for(int i=1;i<=cnt;i++){
		cout<<a[i].c;
	}
}

做完这题才知道原来flag的格式是ctfshow{},接下来对{}就会敏感多了。

你会异或吗

题目给了一个提示:神秘数字0x50
压缩包里给的是png文件,但是打开不了,和上面那题损坏的压缩包一样,损坏的话可能是格式不太对,或者格式对了但是内容有问题。

拿010看下,发现文件的前两个字节是D9 00

D9 00是什么鬼,格式给的不是png吗?和上面的损坏压缩包一样
“jpg= FF D8,png =89 50,gif =47 49,Bmp=42 4D”

89 50 和 D9 00再加上0x50,它们会有什么样的关系呢?题目提示说你会异或吗,观察第二个字节50和00异或得到50,得到启发:把D9 00拿去和0x50异或下,发现果然得到了89 50,既然前两个字节异或上50就得到正确答案,考虑把整个文件都异或上。

遇到的一个小问题是怎么给图片异或上一个数字,chat给了很有用的办法:用python读取图片,对每个字节异或操作,然后再写出。

# 以二进制模式打开图像文件
with open('C:\\Users\\33245\\Desktop\\misc5\\misc5', 'rb') as file:
  # 读取文件内容
  file_content = file.read()

# 将每个字节与0x50进行异或操作
result_data = bytes([byte ^ 0x50 for byte in file_content])

# 将异或后的结果写回文件
with open('C:\\Users\\33245\\Desktop\\misc5\\misc5_completed', 'wb') as output_file:
    output_file.write(result_data)
print("hiahiahia")

发现输出的文件夹多了结果misc5_completed(py真好用啊),但是还是无法显示,用010打开得到的结果

前两位已经正常了,那可能是没加后缀windows识别不了,加个后缀

得到flag~

标签:菜狗杯,show,签到,50,异或,png,file,压缩包,字节
From: https://www.cnblogs.com/liyishui2003/p/17922445.html

相关文章

  • 基于室友发签到码的对分易自动签到
    #基于室友发签到码的对分易自动签到  尽管该程序能帮你大多数忙,但是还是又几个缺点的1:该程序可能回因为cookies生命周期而失效,故而我们需要定期修改cookies2:studentid可能因为数据库更改而失效,故而我们也需要定期检查studentid3:在使用该程序时,需要提前把微信的页面置顶,且......
  • clang VS gcc 的command-line机制: clang 在 MacOS 上要设置 -isysroot $(xcrun --sho
    clangVSgcc的command-line机制:clang在MacOS上作为编译器时要设置-isysroot$(xcrun--show-sdk-path)注意明确指定clang/clang++在MacOS上作为编译器时,一定要设置CFLAGS/CPPFLAGS为"-isysroot$(xcrun--show-sdk-path)${CFLAGS}"CC="/usr/local/bin/clang"C......
  • 【Loading】Misc_ctfshow_WriteUp | _新手必刷_菜狗杯
    1-杂项签到题目分析查看十六进制文件,发现包含的信息不少:猜测存在隐藏文件,用binwalk查看,发现zlib文件:对文件进行分离……虽然但是这个签到题门槛怎么这么高?不会是……查了一下ctfshow提交flag的格式,搜索:好家伙。Flagctfshow{a62b0b55682d81f7f652b2614......
  • 【Loading】Web_ctfshow_WriteUp | _新手必刷_菜狗杯
    1-web签到题目分析读代码:<?php//注释信息/*#-*-coding:utf-8-*-#@Author:h1xa#@Date:2022-11-1017:20:38#@LastModifiedby:h1xa#@LastModifiedtime:2022-11-1109:38:59#@email:[email protected]#@link:https://ctfer.com*/error_r......
  • 【Loading】Crypto_ctfshow_WriteUp | _新手必刷_菜狗杯
    1-密码签到题目密文为:63746673686f777b77656c636f6d655f325f636169676f755f6375707dflag格式为ctfshow{明文}分析只有十六进制字符,看着像HEX编码,hackbar解码得到flag。Flagctfshow{welcome_2_caigou_cup}2-Caesar题目密文如下:ZhofrphwrFWIvkrzyhjhwdeohg......
  • 【Loading】OSINT_ctfshow_WriteUp | _新手必刷_菜狗杯
    1-FishAndTurtles题目分析根据图片能够得到的信息:出发日期为8月27日早晨出发地的天气为雨,但根据登机桥窗户来看起飞时可能已经转阴飞机中途会有中转,目的地为中转之后的地点飞机注册号为B-6448飞机属于四川航空,出发地和目的地至少有一个地点属于四川省根据图......
  • ctfshow:misc入门+buuctf:misc
    misc34. 根据题干,得知宽度要大于900,又看wp限制为1200,我就倒着试,试到了1123就可以得出flag了 misc35. 同理上面,改宽度就好misc36. 一样的misc37. 点开是动态的,但其实仔细看可以看见部分flag的,就放进gif里面,一帧一帧看,得出之后按顺序拼凑出来就可以了misc38. ......
  • Cento7中部署ShowDoc
    1、安装Dockeryuminstalldocker2、启动Docker服务systemctlstartdocker3、设置Docker服务为开机启动systemctlenabledocker.service4、安装gityuminstallgit5、安装ShowDoc从GitHub上复制代码到本地的某个目录,这里进入根目录的test的文件夹cd/testgitclone-......
  • 产学研三界顶级大咖分享:RISC-V场景Show暨开源生态高级别论坛定档12/19
    12月19日,RISC-V场景Show暨开源生态高级别论坛即将开幕。本次论坛将邀请来自中科院计算技术研究所副所长包云岗、嘉楠科技AI软件总监张晓晶、阿里巴巴达摩院生态总监陈炜、清华大学长聘副教授陈渝和中科院软件研究所高级工程师于佳耕出席,现场为大家分享新一轮处理器技术突破、RISC-V......
  • 产学研三界顶级大咖分享:RISC-V场景Show暨开源生态高级别论坛定档12/19
    12月19日,RISC-V场景Show暨开源生态高级别论坛即将开幕。本次论坛将邀请来自中科院计算技术研究所副所长包云岗、嘉楠科技AI软件总监张晓晶、阿里巴巴达摩院生态总监陈炜、清华大学长聘副教授陈渝和中科院软件研究所高级工程师于佳耕出席,现场为大家分享新一轮处理器技术突破、RISC-......