当前位置:网站首页>攻防世界—MISC 新手区1-12
攻防世界—MISC 新手区1-12
2022-08-02 03:24:00 【隐身的菜鸟】
目录
1.this_is_flag

2.pdf
题目描述:菜猫给了菜狗一张图,说图下面什么都没有
下载附件,是一个pdf文件,里面有一张图片,鼠标移动,发现眼睛位置附近出现 文字输入光标,全部选中复制出来就是flag

flag{security_through_obscurity}
3.如来十三掌
题目描述:菜狗为了打败菜猫,学了一套如来十三掌。
下载附件docx, 发现佛曰加密
佛曰加密在线网站与佛论禅 解密

前面加上佛曰放到网站,点击“参悟佛所言的真意”解码。

仔细读题锁定 如来十三掌 中 十三 这个关键词,这个“十三”对应的是另一种叫做“ROT13”的编码rot13.com一下(移位13交换)
ZmxhZ3tiZHNjamhia3ptbmZyZGhidmNraWpuZHNrdmJramRzYWJ9

base64解码

4.give_you_flag
题目描述:菜狗找到了文件中的彩蛋很开心,给菜猫发了个表情包
下载附件,是一个gif动图,里面有一帧有个二维码,使用stegsolve分析该gif(stegsolve中analyse下的frame browser)


补全二维码,扫一扫即可得flag

flag{e7d478cf6b915f50ab1277f78502a2c5}
5.stegano
题目描述:菜狗收到了图后很开心,玩起了pdf 提交格式为flag{xxx},解密字符需小写
下载附件,是一个pdf,打开是一篇英文文章
将整篇文章复制粘贴到一个.txt文件里,发现一串AB编码,像是摩斯密码


a='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=a.replace('A','.');
a=a.replace('B','_');
a=a.replace(' ','/');
print (a);在线解摩斯密码
得到的flag为flag{1nv151bl3m3554g3}
6.坚持60s
下载附件。是一个.jar文件,打开后是个小游戏

方法一:坚持60秒
方法二:用反编译器,查看小游戏的源代码。
将源代码转换成二进制执行代码的过程叫“编译”;那么把二进制执行代码转换成源代码的过程就叫“反编译”,比如把exe转换为C源代码就叫“反编译”。
这里用的是jd-gui。在源码中找到了flag。(《JD-GUI》是一款反编译软件)
flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}

Base64解码

7.gif
下载附件,是一个压缩包
解压后发现文件夹中包含了104张黑白图片,我们可以联想到二进制。因此,直接从二进制下手,尝试将其转换为二进制,然后转换为字符串的形式。

转二进制
flag_dic = ""
for i in range(104):
with open("tupian/gif/%d.jpg"%i,"rb") as f:
if f.read() == white:
flag_dic += "0"
else:
flag_dic += "1"
print(flag_dic) 二进制转字符
8.掀桌子
1.报文内容为0-9,a-f,考虑十六进制。把十六进制两两一组转换为十进制(如c8、e9...)

import re
a = 'c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2'
a = re.findall('.{2}',a) \\正则
a = [int(i, 16) for i in a]
print(a)2.数字在160到250之间,接着将十进制数减128,数字就落在了ASCLL码之间(因为ASCII码值为0-127),让其落到ASCII码表上,然后计算出对应ASCII码值的字符,获取flag.
a = [chr(i - 128) for i in a]
s = "".join(a)
print(s)
\\chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回值是当前整数对应的 ASCII 字符。
\\. join():连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串9.ext3
题目描述:今天是菜狗的生日,他收到了一个linux系统光盘
是个磁盘文件
在linux里,只能查到硬盘而不能做任何操作,而挂载之后,把linux下的文件与硬盘根文件相互关联,就能对硬盘进行操作了。
mount挂载(可以让目录成为设备的访问点)
挂载




ZmxhZ3tzYWpiY2lienNrampjbmJoc2J2Y2pianN6Y3N6Ymt6an0=

flag{sajbcibzskjjcnbhsbvcjbjszcszbkzj}
10.SimpleRAR
题目描述:菜狗最近学会了拼图,这是他刚拼好的,可是却搞错了一块(ps:双图层)
下载附件 ,解压缩包时,显示文件头已损坏,我们用WinHex进行修复

用WinHex打开压缩文件


RAR文件的数据块组成 :
标记块: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
RAR文件每个数据块的结构
HEAD_CRC 校验码,2字节
HEAD_TYPE 块类型,1字节
HEAD_FLAGS 块标记,2字节
在secrypt.png的头部看到一个7A,它是子块,这里应该是文件头,将其改为74,可以作为一个独立文件然后解压。
所以将7A改成74,保存然后解压
flag.txt里面内容

打开图片是空白,用记事本打开,发现是gif

将secret.gif用stegsolve打开,直接点下面的左右符号,进行调色曝光,得到半截二维码。

ps打开,发现有图层是隐藏的。
用ps分离图层保存,抠图,合并图片

组合到一起,缺定位点没有,ps上去,得到完整的二维码。

flag{yanji4n_bu_we1shi}
11.base64stego
题目描述:菜狗经过几天的学习,终于发现了如来十三掌最后一步的精髓
下载附件,解压需要密码

用WinRAR自带的修复功能修复一下就可以打开了

base64解码


根据提示,知道这里是base64隐写
注意红色的 0, 我们在解码的时候将其丢弃了, 所以这里的值不会影响解码. 所以我们可以在这进行隐写.
等号的那部分 0 不能用于隐写, 因为修改那里的二进制值会导致等号数量变化, 解码的第 1 步会受影响. 自然也就破坏了源字符串.
而红色部分的 0 是作为最后一个字符二进制的组成部分, 还原时只用到了最后一个字符二进制的前部分, 后面的部分就不会影响还原.
唯一的影响就是最后一个字符会变化. 如下图

脚本
# -*- coding: cp936 -*-
import base64
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('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 offset
if 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}
12.功夫再高也怕菜刀
foremost,是linux下用于恢复文件的工具,能对dd,Safeback,Encase等工具提取出来的image文件进行恢复。是linux中隐藏文件分离工具。
foremost命令安装:
1.sudo apt-get update
2.sudo apt-get install foremost
将文件拖入kali中,重命名后使用foremost分离文件,得到一个output文件夹
output->zip,里面有个zip压缩文件,文件里面有flag.txt,但解压需要密码

解压密码需要我们在.pcapng文件中找
输入tcp contains"flag"查找相关的包

点击6666.jpg,右键追踪该TCP流。jpg文件头是FFD8,文件尾是FFD9,找到FFD8,和最后一个FFD9,把中间的数据复制下来,在winhex里粘贴并保存为jpg,以ASCII Hex保存。
点击文件,新建
以ASCII Hex保存

另存为jpg文件,得到一张图,估计是解压密码了

得到图片上的压缩包密码:Th1s_1s_p4sswd_!!!,解压得到flag。
flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}
边栏推荐
- 一分种一起来了解Vite的基础
- 每日面试题 2022/7/28
- 5.19今日学习
- 使用PHPMailer发送邮件
- The Error in the render: "TypeError: always read the properties of null '0' (reading)" Error solution
- Multithreading (implementing multithreading, thread synchronization, producer and consumer)
- IO流、 编码表、 字符流、 字符缓冲流
- 面试总结 22/7/22 面试中的重点
- 13. JS output content and syntax
- Small program van-cell line wrapping can be left-aligned
猜你喜欢
![[league/climate] A robust command-line function manipulation library](/img/ce/39114b1c74af649223db97e5b0e29c.png)
[league/climate] A robust command-line function manipulation library

阿里云服务器如何使用admin账户登录

SQL:DDL、DML、DQL、DCL相应介绍以及演示
![[sebastian/diff]一个比较两段文本的历史变化扩展库](/img/c7/ea79db7a5003523ece7cf4f39e4987.png)
[sebastian/diff]一个比较两段文本的历史变化扩展库

v-bind用法:类动态绑定对象 数组 style样式 及函数方法

正则笔记(2)- 正则表达式位置匹配攻略
![[league/climate]一个功能健全的命令行功能操作库](/img/ce/39114b1c74af649223db97e5b0e29c.png)
[league/climate]一个功能健全的命令行功能操作库

New usage of string variable parsing in PHP8.2

TypeScript error error TS2469, error TS2731 solution

The querystring module
随机推荐
After the mailbox of the Pagoda Post Office is successfully set up, it can be sent but not received.
4.表单与输入
12.什么是JS
1.10今日学习
L1-039 古风排版(C)
面试总结 22/7/25 面试中的重点
每日面试题 2022/7/28
线程池(线程池介绍与使用)
ES6介绍+定义变量+不同情况下箭头函数的this指向
PHP基金会三月新闻公告发布
PHP入门(自学笔记)
三月底啦啦
js basics
npm --package.json---require
Baidu positioning js API
v-on基本使用、参数传递、修饰词
js 正则中 replace() 使用
js eventLoop 事件循环机制
每日五道面试题总结 22/7/26
[league/flysystem]一个优雅且支持度非常高的文件操作接口