攻防世界-Misc新手专区 Write Up

第一题:this_is_flag

一开始看到这个题目没有仔细审阅最后发现它已经给出了flag。就是题目

第二题:pdf

根据题目描述得知,图下面什么也没有应该藏有flag.

打开文件发现为一张图其余什么也没有。

但是文件是PDF 于是我利用网站在线将其转回为docx格式。发现图中藏有flag。

网站地址:https://app.xunjiepdf.com/pdf2word/

第三题:如来十三掌

下载附件打开发现一段话:

夜哆悉諳多苦奢陀奢諦冥神哆盧穆皤三侄三即諸諳即冥迦冥隸數顛耶迦奢若吉怯陀諳怖奢智侄諸若奢數菩奢集遠俱老竟寫明奢若梵等盧皤豆蒙密離怯婆皤礙他哆提哆多缽以南哆心曰姪罰蒙呐神。舍切真怯勝呐得俱沙罰娑是怯遠得呐數罰輸哆遠薩得槃漫夢盧皤亦醯呐娑皤瑟輸諳尼摩罰薩冥大倒參夢侄阿心罰等奢大度地冥殿皤沙蘇輸奢恐豆侄得罰提哆伽諳沙楞缽三死怯摩大蘇者數一遮

根据如来十三掌,联想到与佛论禅,但是前面没有佛曰,于是加上佛曰:放到网站中解码得到一串代码:

MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9

感觉是BASE64,但是解不出来。

于是再根据十三掌得知有rot-13,放入解码得到一串数:

ZmxhZ3tiZHNjamhia3ptbmZyZGhidmNraWpuZHNrdmJramRzYWJ9

放入BASE64解码中得到flag

第四题:give_you_flag

下载附件发现为一个gif图,看完以后发现其中闪现一个二维码。利用软件Stegsolve查看帧得到二维码的图

发现二维码好像缺了点什么,对比其他二维码发现少了定位符

利用PS将其P上,发现电脑软件扫不到,用微信扫码得到flag

flag{e7d478cf6b915f50ab1277f78502a2c5}

第五题:坚持60s

下载附件发现是一个java做的小游戏。

咳咳...但是由于游戏有点点难,于是百度搜索java反编译软件下载下来并打开这个小游戏

从其代码中找到了flag

发现flag带= 于是扔到BASE64中解码得到真正的flag

flag{DajiDali_JinwanChiji}

第六题:GIF

下载附件发现是压缩包解压

 

看到白黑图 绞尽脑汁想到是二进制编码!最后一核对

01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101

得到flag 我丢这题脑洞太大了

第七题:掀桌子

看到这一串数的第一反应是MD5加密,但是没任何反应。又觉得是凯撒密码或者是键盘密码。但试过一遍以后发现没有任何反应,最后只好看了一下别人的WP。

Python代码 两个一位,16进制转10进制,然后减去128再转成字符即可

学习一下大佬们的方法膜拜。

第八题:ext3

打开题目看到提示说是Linux系统

直接将附件放入Kali中查找flag

指令解读:

第一步:strings 附件名 | grep flag(从附件中查找所有含有flag的文件)

发现一个含有文件路径的flag.txt

第二步:mount 附件名 /mnt(挂在这个附件)

第三步:CD /mnt (指令读取这个附件)

第四步:ls (查看目录所有文件)

第五步:cd flag.txt所在的文件夹名(读取这个flag.txt所在的文件夹名)

第六步:ls (查看目录所有文件)

第七步:cat flag.txt(输出显示flag.txt的内容)

ZmxhZ3tzYWpiY2lienNrampjbmJoc2J2Y2pianN6Y3N6Ymt6an0=

发现是一串字符后面有一个=想到是base64 放进去转换一下得到flag

flag{sajbcibzskjjcnbhsbvcjbjszcszbkzj}

第九题:stegano

下载附件打开发现很多没有用的文字

利用工具编辑,将其缩小后发现上方隐藏着一串文字,将文字放大倒置以后发现一串密文

ABABA这种一开始想到的是培根密码,但培根密码是五个一组。然后又觉得是摩斯密码,将A翻译为.,B翻译为-

利用在线网站翻译得到flag

flag{1nv151bl3m3554g3}

第十题:SimpleRAR

下载附件,RAR压缩包 打开提示我文件头损坏。

但是发现压缩包里只含有一个flag.txt 然后解压缩 用010打开发现没有东西。于是将整个压缩包放入010中,找了个这个secret.png,然后先前提示文件头有误,看到png于是对照了一下png的文件头

发现好像并没有所对应的文件头,于是开始懵逼,百度了一下在rar中的文件头也没有发现是咋回事,没办法只好看一下大佬们的wp。

RAR文件格式官方说明中英对照:https://blog.csdn.net/vevenlcf/article/details/51538837

根据写wp的大佬所说:

如果用WinRAR的修复功能,则只能修复rar文件,不能把这个图片复原,rar格式编码中:

 

每一个块都是由以下域开始的:【译者注:即每一个块的头部都是由以下域(可称之为头域)组成的】

HEAD_CRC       2 bytes     CRC of total block or block part

                                                整个块或者块某个部分的CRC(根据块类型而有不同) 

HEAD_TYPE      1 byte      Block type 块类型【译者注:也可以理解为块头部类型,因为不同的块对应不同的块头部。后文也经常混淆这两种概念。】

HEAD_FLAGS    2 bytes     Block flags 块标志

HEAD_SIZE        2 bytes     Block size 块大小【译者注:本文中和块头部大小的概念一直混淆。后文中当遇到标志块、结尾块等只有头部的块时,也可理解为块头部大小】

ADD_SIZE          4 bytes     Optional field - added block size 添加块的大小(这是一个可选域)

小白表示研究不透彻有待研究。

根据下一步在flag.txt结束的地方就是下一个块开始的地方,png文件的头部类型编码为74,我们修改过来即可,修改这个地方为74

修改完成后得到png

解压出来打开发现是个空白图,于是将其丢进010查看,起初以为是高度问题,但发现开头为GIF格式于是修改后辍名得到一个GIF动图

但是打开还是没有反应,于是把图丢进Stegsolve中逐帧查看。但是并没有发现什么,于是又用一开始的界面逐个查看发现了半块二维码。但是一个图怎么可能只有半个呢,于是将图扔到PS里发现了有两个图层于是将另一个提取出来读取找到另一块,将两个图拼合发现少了定位符,于是给它补全扫二维码。 flag{yanji4n_bu_we1shi}

第十一题:base64stego 

下载文件以后发现被加密。先用WinRAR自带的修复功能修复了一下发现成功去掉了密码说明是伪加密。打开文件发现一堆base64的密文,翻译了其中几条发现类似于英文说明没什么用。

以下为base64原理:

base64是6bit编为1个字符,而1个字节是8bit,因此base64可能会出现3种情况:刚好能编完(例如3个字节的字符串base64加密后有4个字符)、剩余2bit(例如2个字节的字符串base64加密后第3个字符只编码了4bit,此时使用=补充6bit)、剩余4bit(例如1个字节的字符串base64加密后第2个字符只编码了2bit,此时使用==补充12bit),由于第3/2个字符只编码了4/2bit,所以只有前面被编码的bit是有效的,而后面的bit则在正常情况下默认填0,因此可以将想隐写的数据隐藏在后面的bit中,即:1个=可以隐藏2个bit

于是百度了大佬的wp荡了一个脚本:

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}

第十二题:功夫再高也怕菜刀

下载附件,用foremost进行pcapng文件的分离,得到一个zip,打开zip,得到一份加密的flag.txt文件。然后用wireshark打开pcapng文件,查找flag.txt关键字。

发现有个6666.jpg,右键第1150个数据包,追踪TCP流,复制从FFD8开始到FFD9的内容,到010中新建16进制文件黏贴,如图黏贴,另存为.jpg即可得到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值