CTF学习之路-攻防世界:MISC,入门篇
目录
- 一、感谢和安利
- 二、MISC-新手练习篇Writeup
- 1、this_is_flag
- 2、pdf
- 3、如来十三掌
- 4、give_you_flag
- 5、坚持60S
- 6、gif
- 7、掀桌子
- 8、stegano
- 9、SimpleRAR(比较麻烦)
- 10、base64stego
- 11、ext3
- 12、功夫再高也怕菜刀
一、感谢和安利
我是从攻防世界入门的,感谢攻防世界的免费靶场
靶场地址:攻防世界
https://adworld.xctf.org.cn/
二、MISC-新手练习篇Writeup
1、this_is_flag
WP:
明显,入门用的,了解flag格式,直接提交题目例子的flag就可以了
flag{th1s_!s_a_d4m0_4la9}
2、pdf
WP:
题目给的一个PDF文件,使用PDF编辑器打开(我用的是万兴PDF编辑器)
移出来看到就是flag了
3、如来十三掌
附件是一份文档:
一段经文,那不就是与佛论禅加密?
http://www.keyfc.net/bbs/tools/tudoucode.aspx
记得加“佛曰”前缀
得到一串字符:
MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9
看着这段字符,百思不得其解,最后题目:“如来十三掌”,十三??试试rot13解码,得到一串字符串:
ZmxhZ3tiZHNjamhia3ptbmZyZGhidmNraWpuZHNrdmJramRzYWJ9
最后丢到解密工具里一键解码,得到flag:
flag{bdscjhbkzmnfrdhbvckijndskvbkjdsab}
4、give_you_flag
WP:附件是个GIF图片,看到闪的飞快,最后有一帧黑乎乎的,那就是可疑的地方了,思路肯定是工具逐帧分解GIF
可以用“GIF动画帧提取器”,或者PS分解出来。
PS打开:找到可疑图层,打开图层显示,就可以看到可疑的那一帧。
GIF动画帧提取器打开,找到可疑帧
小恐龙手上拿着的是二维码,但是少了三个定位点,要PS回去。
扫描二维码得到flag
5、坚持60S
下载下来是一个jar包
运行起来是一个游戏,没啥有用的信息
使用gd-gui工具反编译看看
查找关键字flag
看到还真能找到
flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}
拿去提交,发现是不对的
flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}看着像base64加密,拿去解密。
得到flag
flag{DajiDali_JinwanChiji}
6、gif
下载下来,发现是个压缩包,打开看看,发现都是黑、白两色块。脑袋里啪的想到:白:0 ,黑 :1,为啥不是白:1,黑:0??做久了开发就知道,0是白黑是1,1都是反派的那个。
一番比对后得到一串数字:
01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101
然后发现总数是104个,这要么是2、4、8一组,计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,那么8个一组没跑了。
8个一组得到:
01100110 01101100 01100001 01100111 01111011 01000110 01110101 01001110 01011111 01100111 01101001 01000110 01111101
二进制转字符得到flag(用的随波逐流提供的解密工具):flag{FuN_giF}
**
7、掀桌子
**
这题没啥附件,只有一串字符,看字符是0-9,a-f组成的,就知道这是16进制字符串咯,那么2个16进制可以代表一个字符串,就用python进行转换下。
string = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"
for i in range(0,len(string),2):s = '0x'+string[i]+string[i+1]i = int(s,16)print(str(i))
发现结果字符块都大于128,ASCII码范围是0-127
怎么办呢?上面结果再减下128
这就对了。跟着感觉走没毛病,把进制转换成字符。
string = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"
flag = ''
for i in range(0,len(string),2):s = '0x'+string[i]+string[i+1]i = int(s,16)-128flag+=chr(i)
print(flag)
转换后得到以下结果,可以得到flag咯:
Hi, FreshDog! The flag is: hjzcydjzbjdcjkzkcugisdchjyjsbdfr
8、stegano
下载得到附件
PDF编辑器,删掉挡在前面的那对英文,看到还剩下几个文本框。
复制文本出来,贴在记事本上
很明显,ABAB那串就是密文了。复制出来
BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB
试下转换为摩斯密码,记事本替换下A和B,A替换为 .,B替换为-。
到如下结果。
-.-. --- -. --. .-. .- - ..- .-.. .- - .. --- -. ... --..-- ..-. .-.. .- --. ---... .---- -. ...- .---- ..... .---- -... .-.. ...-- -- ...-- ..... ..... ....- --. ...--
放到解密工具上解密
去掉空格,得到一串字符
CONGRATULATIONS,FLAG:1NV151BL3M3554G3
题目说flag是小写,转换为小写,得到flag。
congratulations,flag:1nv151bl3m3554g3
那么flag就是flag{1nv151bl3m3554g3}
9、SimpleRAR(比较麻烦)
下载是1个压缩包,360解压
当然是用rar啦,360压缩不会提示错误的,winrar才会。
文件头损坏,那就用winhex打开修复。
首先了解下rar块头的知识:
在这里怎么定位坏的块呢?
1、定位文件位置
rar提示secret.png文件头已损坏,winhex先定位到文件所在。
通过搜索文本,可以定位到文件所在了。
题目用到的是这两个知识点
附上常见的块类型(HEAD_TYPE)如下:
标记块:HEAD_TYPE=0x72
压缩文件头:HEAD_TYPE=0x73
文件头:HEAD_TYPE=0x74
旧风格的注释头:HEAD_TYPE=0x75
旧风格的用户身份信息:HEAD_TYPE=0x76
旧风格的子块:HEAD_TYPE=0x77
旧风格的恢复记录:HEAD_TYPE=0X78
旧风格的用户身份信息:HEAD_TYPE=0X79
子块:HEAD_TYPE=0x7A
最后的结束块:HEAD_TYPE=0x7B
2、找到块头
上一个文件结束,是 flag is not here,就是那个迷惑的txt文件内容结尾啦。那么跟着的就是下个文件,图片文件的开头。看下图,从上面知识,知道第三个字节开始,就是文件块头咯,那么我们要改的就是这个字节。提示文件头损坏,那就给他改成对应的 文件头:HEAD_TYPE=0x74
改完后保存,如下图
解压压缩包,看到图片出来了。
打开图片,发现空白的,所以再winhex打开,发现是gif的图
把后缀改为gif。
用stegsolve打开,得到半截二维码。
题目说是分层图片,ps打开,发现有图层是隐藏的。
开启图层再另存为。
用stegsolve打开,得到半截二维码。
两半二维码拼合
还是缺定位点没有,ps上去,得到完整的二维码。
扫码得到flag
flag{yanji4n_bu_we1shi}
10、base64stego
下载完提示有密码,但是这是伪加密,360压缩可以无视。
360压缩打开压缩包是这么一大串东西
base64解密
就一段隐写技术的说明,没啥用。
题目中说base64解密,最后一步精髓(最后一步是精髓,不就是提示你取行尾的密文),所以提示很明显啦,base64隐写。
这篇文章说的很好啦,base64隐写原理。
https://blog.csdn.net/xnightmare/article/details/103774379
然后解题思路是,边解密边把隐写的密文拿到再解密。
依次读取每行,从中提取出隐写位。
如果最后没有‘=’,说明没有隐写位,跳过。
如果最后是一个‘=’,说明有两位隐写位,将倒数第二个字符转化为对应的二进制索引,然后取后两位。
如果最后是两个‘=’,说明有四位隐写位,将倒数第三个字符转化为对应的二进制索引,然后取后四位。
将每行提取出的隐写位依次连接起来,每8位为一组转换为ASCII字符,最后不足8位的丢弃。
贴上大佬的代码:
# -*- coding: cp936 -*-
import base64
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'#base64字典库
with open(r'C:\Users\XUHC\Documents\代码段\stego.txt', 'rb') as f: #读取文件内容bin_str = ''for line in f.readlines():stegb64 = str(line, "utf-8").strip("\n")rowb64 = str(base64.b64encode(base64.b64decode(stegb64)), "utf-8").strip("\n")offset = abs(b64chars.index(stegb64.replace('=','')[-1])-b64chars.index(rowb64.replace('=','')[-1]))equalnum = stegb64.count('=') #no equalnum no offsetif equalnum:bin_str += bin(offset)[2:].zfill(equalnum * 2)print(''.join([chr(int(bin_str[i:i + 8], 2)) for i in range(0, len(bin_str), 8)])) #8 位一组
得到flag
Base_sixty_four_point_five
11、ext3
提示很明显:ext3文件系统,Linux环境。
直接mount试试看,然后再进到目录,试着查找flag文件,没想到还真有,查看flag.txt,得到密文:
ZmxhZ3tzYWpiY2lienNrampjbmJoc2J2Y2pianN6Y3N6Ymt6an0=
解密后得到flag
flag{sajbcibzskjjcnbhsbvcjbjszcszbkzj}
12、功夫再高也怕菜刀
附件后缀很奇葩:acfff53ce3fa4e2bbe8654284dfc18e1.pcapng
pcap是wareshark流量的抓包,png是图片,从这两方面下手了。
1、万变不离其宗,先分解提取。
foremost 提取
得到压缩包,解压要密码,确认不是伪加密后,进行下一步。
密码估计要在数据流里找了。
wareshark打开流量数据包,ctrl+f,查找flag关键字。
根据题目提示,或许会跟png有关,找了一圈没有,发现有个6666.jpg文件,追踪流-tcp数据流,发现可疑的东西
FFD8FF开头,FFD9结尾,jpeg图片,拿去还原看是什么。
winhex生成图片
从FFD8FF开头,FFD9结尾复制,打开winhex
点击文件,新建,大小设置1111
粘贴,提示编码选择,选ASCII Hex
另存为,加后缀.jpg
得到一张图,估计是解压密码了
Th1s_1s_p4sswd_!!!
拿去解压,得到flag.txt文件
打开flag.txt,得到flag
flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}
至此,新手的misc模块题目全部完成了。
CTF学习之路-攻防世界:MISC,入门篇相关推荐
- 攻防世界Misc入门题之掀桌子
攻防世界Misc入门题之掀桌子 继续开启全栈梦想之逆向之旅~ 这题是攻防世界Misc入门题之掀桌子 题目是一串16进制数,因为只有0~f,不是base64,直接扔到十六进制转字符串: 好的,不知道转了 ...
- 攻防世界Misc入门题之坚持60s
攻防世界Misc入门题之坚持60s 继续开启全栈梦想之逆向之旅~ 这题是攻防世界Misc入门题之坚持60s 下载附件,一开始我默认用压缩包对jar文件,搞到一解压出来还以为是某个游戏存档,后来才发现是 ...
- 攻防世界MISC刷题1-50
目录 1.ext3 2.base64stego 3.功夫再高也怕菜刀 4.easycap 5.reverseMe 6.Hear-with-your-Eyes 7.What-is-this 8.norm ...
- misc高阶 攻防世界_攻防世界 Misc 进阶题(一)
攻防世界 Misc 进阶题(一) 关于隐写术的思路或方法 转载: https://blog.csdn.net/a_small_rabbit/article/details/79644078 隐 ...
- 攻防世界MISC进阶区刷题记录
文章目录 攻防世界MISC进阶区刷题记录 Ditf 运用stegextract进行分离 glance-50 gif图片分离组合脚本 hit-the-core Test-flag-please-igno ...
- 攻防世界 MISC新手练习区 刷12道题题所得的思路和方法
title: 攻防世界 MISC新手练习区 date: 22021年8月17日 10点31分 tags: MISC categories: MISC 1.攻防世界 this_is_flag(签到题) ...
- 攻防世界 Misc高手进阶区 7分题 Russian-zips
前言 继续ctf的旅程 攻防世界Misc高手进阶区的7分题 本篇是Russian-zips的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 得到一个压缩文件 解压要 ...
- 攻防世界 Misc高手进阶区 7分题 流量分析
前言 继续ctf的旅程 攻防世界Misc高手进阶区的7分题 本篇是流量分析的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 题目描述 得到一个流量包 根据题目描述 ...
- 攻防世界 Misc高手进阶区 3分题 小小的PDF
前言 继续ctf的旅程 攻防世界Misc高手进阶区的3分题 本篇是小小的PDF的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 下下来一个pdf binwalk分析 ...
- 攻防世界misc高手进阶区刷题记录
攻防世界misc高手进阶区刷题记录 easycap 解压出来之后为一个pcap文件,使用wireshark打开 右键追踪TCP数据流即可获得flag flag:385b87afc8671dee0755 ...
最新文章
- 一键修改分辨率bat_求使用批处理BAT设置分辨率的方法介绍?
- 【剑指offer-Java版】17合并两个排序链表
- JVM 参数及各部分含义(转)
- php文件怎么阅读器,Vue文件阅读器组件FileReader API
- [心得]Ubuntu無法ssh登入
- Spark集群完全分布式安装部署
- pdf.js 文字丢失问题 .cmaps
- java如何画矩形条和填充_java.awt.Graphics 类的哪个方法可绘制填充矩形?
- [原创]错误提示:disagrees about version of symbol module_layout,解决方法
- vb.net机房收费系统之组合查询
- TestComplete自动化测试视频教程
- iec104规约遥测遥信解析笔记
- stm32固件库手册使用方法
- js调用HttpPrinter(web打印插件)
- 字节版 趣味测试小程序源码
- 产品经理必读书单(2019史上最全)
- BP算法(误差逆传播算法)简单实现
- 在进化计算中,软件进行元基编码的新陈代谢方式 V0. 1. 1
- C语言课设销售管理系统设计
- Mac book air在浏览器中显示flash过期问题