XCTF攻防世界_Misc练习区

ext3

(1)附件是一个没有后缀的文件,使用notepad++打开,Ctrl+F出现搜索框,搜索flag
在这里插入图片描述
在这里插入图片描述
(2)发现在O7avZhikgKgbF目录下有个flag文件,用7-ZIP工具打开附件,找到flag.txt文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)出现了一串base64加密的字符串,这里我用的是CaptfEncoder工具,解码后得flag{sajbcmbzskjjcnbhsbvcjbjszcszbkzj}
在这里插入图片描述

功夫再高也怕菜刀

(1)附件是一个.pcapng文件,使用Wireshark打开文件查看报文查找flag信息,输入表达式http contains flag查看http协议的报文是否包含flag 的信息
在这里插入图片描述
(2)根据筛选出的报文,追踪tcp流,在第1150个报文中发现一串十六进制的流信息,其中,FFD8是jpg文件头标志,FFD9是结束标志,说明这里有一张jpg格式的图片。
在这里插入图片描述
在这里插入图片描述
(3)将这部分信息复制到一个文本文档.txt中保存,用010 editor工具以十六进制导入,并另存为jpg格式,得到一张图片
在这里插入图片描述
在这里插入图片描述
(4)接着在kali中用foremost分离附件.pcapng文件,得到一个zip文件,里面有一个压缩包,包含flag文件。使用上面图片中的“Th1s_1s_p4sswd_!!!”作为密码,获取flag。

#foremost已在kali中预安装,使用如下命令安装

$sudo apt-get install foremost       //非管理员需要加上sudo

#分离文件

$foremost -t all ctf.pcapng         

#执行完上面的语句后,会生成一个output目录,进入该目录即可查看分离的文件。

give_you_flag

(1)附件是一张gif的动图,查看后可发现图片里存在一个二维码。于是这里用stegsolve工具将动图分解为一张张图片,以便查看。
在这里插入图片描述
(2)找到那张出现二维码的图片,发现定位点缺失。百度下载一张二维码定位点图片,接着打开Windows自带的画图工具,选择“新建”,然后依次把定位点图片和二维码图片通过“粘贴来源“导入,将定位点拖拽到缺失的地方,保存即可。(不会ps只能这样了,嘤嘤嘤~)
#下载的定位点图片可能会有一些白色边框,在合成图片时可能会覆盖掉二维码。同样可以在画图工具里,打开定位点图片,通过多次“旋转”的操作,然后不断调整白色画布的大小去掉边框,去掉边框后保存就可以了。
在这里插入图片描述
(3)二维码图片补全后,用二维码扫描器扫描就可以得到flag了。
在这里插入图片描述

#stegsolve工具:
File Format:文件格式,这个主要是查看图片的具体信息
Data Extract:数据抽取,图片中隐藏数据的抽取
Frame Browser:帧浏览器,主要是对GIF之类的动图进行分解,动图变成一张张图片,便于查看
Image Combiner:拼图,图片拼接
#stegsolve打开方式:
(1)首先需要添加java环境,这里就不赘述了。
(2)打开stegsolve所在目录,在目录框输入cmd,打开运行窗口
在这里插入图片描述
在这里插入图片描述
(3)在运行窗口输入以下命令即可打开:

java -jar stegsolve.jar

在这里插入图片描述
在这里插入图片描述

坚持60s

(1)附件是一个.jar文件,在cmd下用java -jar xxxx.jar查看
在这里插入图片描述
(2)用jd-gui工具反编译,在cn.bjsxt.plane.PlaneGameFrame.class文件下发现flag(Ctrl+F搜索)
在这里插入图片描述

gif

(1)解压附件,在gif文件夹下看到许多黑白的图片,联想到二进制
在这里插入图片描述
(2)将各个图片转化为对应的二进制,使用在线二进制转字符串工具http://www.txttool.com/WenBen_BinaryStr.asp即可得到flag。

掀桌子

在这里插入图片描述
(1)获取的报文内容为0-9,a-f,考虑十六进制。但该串十六进制数无法直接转化为字符串(ASCII值)
(2)把十六进制两两一组转换为十进制;接着将十进制数减去128(因为ASCII码值为0~127),让其落到ASCII码表上,然后计算出对应ASCII码值的字符,获取flag。
(3)采用如下java编写的代码:

public class Misc {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String hex="c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2";
		String temp="";
		String flag="";
		for(int i = 0; i < hex.length();i+=2) {
			temp=hex.substring(i,i+2);   //获取相邻的字符
			long dec=Long.parseLong(temp,16);    //将两个字符转换为十进制
			flag=Long.toString(dec-128);         //将Long型的十进制值减去128,再转换为String
			System.out.print((char)Integer.parseInt(flag));   //解析flag为十进制整数,并强制转换为char,存取字符
			
		}
	}

}

(4)查看执行结果
在这里插入图片描述

如来十三掌

(1)附件是一串禅语
在这里插入图片描述
(2)使用在线工具使用“与佛论禅”来进行解码(解码时记得在原文字的开头加上“佛曰:”)在线工具:http://www.keyfc.net/bbs/tools/tudoucode.aspx
在这里插入图片描述
(3)根据题目提示的13掌,用rot-13解码

#rot13使用一个简单的替换加密算法,类似凯撒密码
在这里插入图片描述
(4)又是一串密文,用base64试试,看到flag。
在这里插入图片描述

stegano

(1)附件是一个pdf文件,全选后复制到一个word文档里,发现了一串特殊的字符
在这里插入图片描述
(2)看到AB,但不是培根密码,培根密码是5个一组,联想到摩斯密码将A替换为. ,B替换为-,可以自己写个代码转换一下(这里我用的c语言)

int main(){
	char word[200];
	gets(word);
	int i=0;
	while(word[i] != 0){
		if(word[i] == 'A'){
			word[i]='.';
			printf("%c",word[i]);
		}
		if(word[i]  == ' '){
			printf(" ");
		}
		if(word[i] == 'B'){
			word[i]='-';
			printf("%c",word[i]);
		}
//		printf("%s",word[i]);
		i++;
	}
	
	system("pause");
	return 0;

(3)然后放到在线摩斯密码加解密上解密http://www.txttool.com/t/?id=Mzg1(注意分割的时候空格也要输入)
在这里插入图片描述

SimpleRAR

(1)解压附件得到一张两帧的图片
在这里插入图片描述
(2)现将这两帧图片分别保存,然后用stegsolve分别打开,发现是都是缺失一半的二维码图片
在这里插入图片描述
在这里插入图片描述
(3)利用画图工具,将两张图拼在一起,并将定位点补充完整,用二维码扫描器扫描即可
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值