BUUOJ

  • Misc
    • [DDCTF2018]第四扩展FS
    • [INSHack2018]42.tar.xz
    • 大流量分析(一)
    • 大流量分析(二)
    • 大流量分析(三)
    • [NPUCTF2020]碰上彩虹,吃定彩虹!
    • [INSHack2017]10-cl0v3rf13ld-lane-signal
    • [INSHack2018] (not) so deep
    • [羊城杯 2020]逃离东南亚

Misc

[DDCTF2018]第四扩展FS

图片exif信息中有提示:Pactera

foremost分离出一个加密的压缩包,使用上面得到的密码解压,得到一个文本

词频统计:

f = open("file.txt","r")
txt=f.read().replace(" ","")
f.close()
d={}
for i in txt:d[i] = d.get(i,0)+1
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse =True)
for i in ls:print(i[0],end="")

跑一下就出flag

[INSHack2018]42.tar.xz

好多压缩包,每一个打开也都是一堆压缩包

一般来说写个py脚本重复解压就行,不过网上看到一个利用bash命令的,好像很方便

while [ "`find . -type f -name '*.tar.xz' | wc -l`" -gt 0 ]; do find -type f -name "*.tar.xz" -exec tar xf '{}' \; -exec rm -- '{}' \;; done;


flag{04ebb0d6a87f9771f2eea4dce5b91a85e7623c13301a8007914085a91b3ca6d9}

大流量分析(一)

某黑客对A公司发动了攻击,以下是一段时间内我们获取到的流量包,那黑客的攻击ip是多少?(答案加上flag{})

附件太多了…先下载一个看一下

一打开,映入眼帘的就是183.129.152.140

试一下,对了… flag{183.129.152.140}

这题正规做的话,借助这里的统计功能
次数最多是就是这个

大流量分析(二)

黑客对A公司发动了攻击,以下是一段时间内获取到的流量包,那黑客使用了哪个邮箱给员工发送了钓鱼邮件?(答案加上flag{})

仍然是上题那个流量包,这题要找邮箱,所以筛选smtp

flag{xsser@live.cn}

大流量分析(三)

某黑客对A公司发动了攻击,以下是一段时间内我们获取到的流量包,那黑客预留的后门的文件名是什么?(答案加上flag{})

这里要找文件名,因为是后门文件,一般是.php

文件很多,慢慢翻,最后得到flag{admin.bak.php}

[NPUCTF2020]碰上彩虹,吃定彩虹!

先看maybehint.txt,winhex打开,发现很多0宽字符

在线网站解密,直接解会乱码,因为默认勾选的是下面几种,linux系统下用vim打开这个文本,会发现它是由<200b>、<200c>、<200d>这三种字符组成


把这三种勾选上去,再次解密得到提示:do u know NTFS?

NtfsStreamsEditor2把隐藏的信息提取出来,结果如下

=wwZlZ=8W=cndwljcdcG8wdj8W8Z8dZllGjZc=8lWjnlWd8WwZ5j=l8ccWZcZGjd5ZwZ5WZ8d=Zcwjwl5Gnn=WdwcwlnWd5lGnZWlnnwdnjnw8ndnc58d5cndl=njZl=WddjwWWwZllj5c5jGwZnZ5W=cZljdwd8c=85ndGGljcl5ccwd=W=l8w=5lwWn8WnwnWlGZwdcnGGl5G=8W==cnnWZnWjZ=wWcGwZcWc8ncWW=5jnWwcZl8W=8cdwWldlnwW5ddwlnlwncWlcwGZddj5djZWc5jcWdn5jdjwnj85GWGjnjwGd=jZGj5j==jwjlw8dlwWj5Wjn5n8dwwdjZlc5lZwdWldZlnGwl85cWnjd=WcWlwj8WGdlGncnZWGGd5ZncW5d55nW5wl=Wj8jGWnWj8jwZ=ZwWZ88nWG5nn5WlWnGdWw5Zn8jdl=nGcnll8WncZjnGn=dlwn5W8wlWjlnl5ccnGWGnnnc58WnjlGnG55Zwdn5cZdjdZZ5WljG5G5wcldd=Wlc8Z=8nGj=jWd8w8Wd=w8nccc8wZdjcnGdljZnnj5ww8885=lcWW8W8j5dG8jZZwG55GjnwZ=W5Z8G5ZlGc5ZZncZ5cd8j85GW5nj=WWncn55Gj5nj5nwnW58jG8GcnjZdWcl8wj8n=cj=8l8cn5jjcjn8lldn=Gjw8=cjcdWWjGddZljdjdZnG8djnZccZldlWllw5ZZ8wj5Gn==5w8Z=j55n=ZZ5wdww8lndwd8Wlj8WGjnl=nncZ=W8ZZWZnjjlwWGZZlZc5c==d8Zl855wZn=W=w8wWjZ85cGc==5Z8ccjdw5GnZWnGjcdGGnZ5wwwWGG5d=W5ldjwGZZdZwdG5cGGnZGlGc=W5ccWZ8=cGljdGcdld=8cj8jwn=lj88ZZ5jn5lcZ=Gdw=Zl58WZZl5ccwccwG5d5w8Z5wllj5ddnn=5=w8588WwGj=l5G55dWG8cl=GcjWwlwG=lWWnZ=dZG85Gcjc5=wnw=j==Gndnddjwn5c=c5W5wwdWlG5nWZwnGw8=lcWldcwnG5Wcjj=cWlGZc8Gn58ZWjZ85ljlncZj5cc=dZWGjd=d8ncZ8www55=cw=GWZn5ZZlnWld=cWcnclWlZG5djGW=cl8=ZG8cZwwc8wl=88W5ZwZ=jwZGGlcWcWnZZ5Zj5w5ZdZclZZWnccGw==cG8W8ZWlc8wcZ555Z85ljWG5jZ=8=wllWjWjlZc5lG8cwWlnjlGlW=l5=n=lGwnjGGjGdwj85ddW5ZwZ=ddjWldj=cjljjGwndZjWWZGcdWcZW5cdldj8WZjGljlWncZ5=8jnZWjl8wjZG5Zwlcl5dd

不像是某种编码,直接词频分析吧

f = open("out.txt","r")
txt=f.read().replace(" ","")
f.close()
d={}
for i in txt:d[i] = d.get(i,0)+1
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse =True)
for i in ls:print(i[0],end="")

结果:ZW5jcnlwdG8=,base64解码得到encrypto,百度一下会发现这是一个加密软件,下载,使用之前需要先把文件后缀改成.crypto,试了一下发现要把secret改后缀,放进去解密,得到提示:小写

但是仍然需要密码来进行解密,想起还有一个lookatme.txt没有看

tab换成-,空格换成.,然后解摩斯密码得到hint:autokey

关于autokey的题解我另一篇博客里写过,跑一下得到IAMTHEPASSWD,因为hint说要小写,所以密码:iamthepasswd

拿去解密,但是跑了很久没结果…winhex看一下,发现这里有东西,把它删了,重新解密

解出彩虹.png,foremost分离出一个压缩包,里面是加密的弗拉格.docx

这里和之前做过的题:很好的色彩呃?类似,这六块黄色其实有细微的差别,用ps提取颜色,得到

ffff70
ffff40
ffff73
ffff73
ffff57
ffff64

最后两位连起来得到704073735764,转字符得到p@ssWd,拿去解压压缩包

上面那一串字符,把大小写字母分开

得到ALPHUCK

eeeeeeeeeepaeaeeeaeeeeeeeaeeeeeeeeeeccccisaaaaeejeeeeeejiiiiiiiiiiijeeeeeejeeeeeeeeeeeeeeeeeeeejcceeeeeeeeeeeeeeeeeeejaaiiiiiiijcciiiiiiiiiijaaijiiiiiiiiiiiiiiiiiiiijeeeeeeeeeeeeeeeeeeeeeeejcceeeeeeeeeeeejaaiiiijeeeeeeejceeeeeeeeeeeeeeeeeeeeeeeeejceeeeeeeeeeeeeeeeejaeeeeeejciiiiiiiiiiiiiiiiiiijaeeeejceeeeeeeeeeeeeeeeeejajciiiiiiiiiiiiiiiiiiijaaiiiijiijeeeeeeeeeeejcciiiiiiiiiiiiiiijaaij

在线解密

[INSHack2017]10-cl0v3rf13ld-lane-signal

文件后缀改为.jpg
foremost分离出一个图片,但是这里没有有用的线索

再回头看jpg文件,发现png图片尾后面还有数据

百度得知这个是ogg文件,类似mp3的音乐格式,提取出来,Audacity打开,很明显是摩斯电码

.. -. ... .- -.--. -- ----- .-. ..... ...-- ..--.- .-- .---- .-.. .-.. ..--.- -. ...-- ...- ...-- .-. ..--.- ....- --. ...-- -.-.-- -.--.-

拿去解密得到flag{M0R53_W1LL_N3V3R_4G3!}

[INSHack2018] (not) so deep

下载得到一个wav文件,查看频谱图,只能看到下半截,把最高频率调高,看到部分flag

前半截flag:flag{Aud1o_st3G4n

另一半flag肯定不在这里了,尝试音频隐写,mp3stego没反应,结合题目名,使用DeepSound

需要密码

这里借助大佬的脚本获取这个wav文件的hash

#!/usr/bin/env python3
'''
deepsound2john extracts password hashes from audio files containing encrypted
data steganographically embedded by DeepSound (http://jpinsoft.net/deepsound/).
This method is known to work with files created by DeepSound 2.0.
Input files should be in .wav format. Hashes can be recovered from audio files
even after conversion from other formats, e.g.,ffmpeg -i input output.wav
Usage:python3 deepsound2john.py carrier.wav > hashes.txtjohn hashes.txt
This software is copyright (c) 2018 Ryan Govostes <rgovostes@gmail.com>, and
it is hereby released to the general public under the following terms:
Redistribution and use in source and binary forms, with or without
modification, are permitted.
'''import logging
import os
import sys
import textwrapdef decode_data_low(buf):return buf[::2]def decode_data_normal(buf):out = bytearray()for i in range(0, len(buf), 4):out.append((buf[i] & 15) << 4 | (buf[i + 2] & 15))return outdef decode_data_high(buf):out = bytearray()for i in range(0, len(buf), 8):out.append((buf[i] & 3) << 6     | (buf[i + 2] & 3) << 4 \| (buf[i + 4] & 3) << 2 | (buf[i + 6] & 3))return outdef is_magic(buf):# This is a more efficient way of testing for the `DSCF` magic header without# decoding the whole bufferreturn (buf[0] & 15)  == (68 >> 4) and (buf[2]  & 15) == (68 & 15) \and (buf[4] & 15)  == (83 >> 4) and (buf[6]  & 15) == (83 & 15) \and (buf[8] & 15)  == (67 >> 4) and (buf[10] & 15) == (67 & 15) \and (buf[12] & 15) == (70 >> 4) and (buf[14] & 15) == (70 & 15)def is_wave(buf):return buf[0:4] == b'RIFF' and buf[8:12] == b'WAVE'def process_deepsound_file(f):bname = os.path.basename(f.name)logger = logging.getLogger(bname)# Check if it's a .wav filebuf = f.read(12)if not is_wave(buf):global convert_warnlogger.error('file not in .wav format')convert_warn = Truereturnf.seek(0, os.SEEK_SET)# Scan for the marker...hdrsz = 104hdr = Nonewhile True:off = f.tell()buf = f.read(hdrsz)if len(buf) < hdrsz: breakif is_magic(buf):hdr = decode_data_normal(buf)logger.info('found DeepSound header at offset %i', off)breakf.seek(-hdrsz + 1, os.SEEK_CUR)if hdr is None:logger.warn('does not appear to be a DeepSound file')return# Check some header fieldsmode = hdr[4]encrypted = hdr[5]modes = {2: 'low', 4: 'normal', 8: 'high'}if mode in modes:logger.info('data is encoded in %s-quality mode', modes[mode])else:logger.error('unexpected data encoding mode %i', modes[mode])returnif encrypted == 0:logger.warn('file is not encrypted')returnelif encrypted != 1:logger.error('unexpected encryption flag %i', encrypted)returnsha1 = hdr[6:6+20]print('%s:$dynamic_1529$%s' % (bname, sha1.hex()))if __name__ == '__main__':import argparseparser = argparse.ArgumentParser()parser.add_argument('--verbose', '-v', action='store_true')parser.add_argument('files', nargs='+', metavar='file',type=argparse.FileType('rb', bufsize=4096))args = parser.parse_args()if args.verbose:logging.basicConfig(level=logging.INFO)else:logging.basicConfig(level=logging.WARN)convert_warn = Falsefor f in args.files:process_deepsound_file(f)if convert_warn:print(textwrap.dedent('''---------------------------------------------------------------Some files were not in .wav format. Try converting them to .wavand try again. You can use: ffmpeg -i input output.wav---------------------------------------------------------------'''.rstrip()), file=sys.stderr)

再使用john爆破密码

得到密码azerty,解密得到后一半flag:0_1s_4lwayS_Th3_S4me}

所以:flag{Aud1o_st3G4n0_1s_4lwayS_Th3_S4me}

[羊城杯 2020]逃离东南亚

先看日记1.zip里的图片,修改高度得到第二个压缩包的密码wdnmd

test文件里是brainfuck字符,直接拿去解密得到一堆乱码

因为缺东西了,可以随便拿一个字符去加密,会发现出来的结果总是以+++++ 开头

在开头补上++++++++ ,再次解密

得到的结果拿去base64解码,得到elf文件数据

保存下来,拿去运行,好像又被调戏了

去看打架.wav,试着看波形、频谱图、音频隐写,都没结果,最后发现要用silenteye解密

得到最后一个压缩包的密码This1sThe3rdZIPpwd,这次的日记里就有有用的提示了:flag在源代码里

文件很多,慢慢翻,最后在elf文件下的rtld.cmalloc文件夹下的malloc.cmalloc文件夹下的arena.c发现有空格和tab组成的信息

把这三个文件放到同一文件夹下,写脚本提取

def f_read(name):f=open(name,"r")flag=""useless=r"abcdefghijklmnopqrstuvw\xyz;,)"for line in f.readlines():line=line.replace("\n","")if "}" in line:t = line.split("}")if len(t[1]) != 0:x = 1for i in useless:if i in t[1]:x = 0breakif x:for s in t[1]:if s == '\t':flag += "1"else:flag += "0"f.close()      print(flag)print("*****")
f_read("rtld.c")
f_read("arena.c")
f_read("malloc.c")

跑出来的最后一串二进制,转字符即可得到flag

BUUCTF MISC刷题笔记(六)相关推荐

  1. BUUCTF MISC刷题笔记(一)

    BUUOJ Misc 喵喵喵 弱口令 [安洵杯 2019]easy misc [XMAN2018排位赛]通行证 蜘蛛侠呀 [RCTF2019]draw [MRCTF2020]Hello_ misc [ ...

  2. BUUCTF MISC刷题笔记(三)

    BUUOJ Misc [MRCTF2020]pyFlag Business Planning Group [ACTF新生赛2020]剑龙 [GWCTF2019]huyao [UTCTF2020]Fil ...

  3. BUUCTF MISC刷题笔记(五)

    BUUOJ Misc [MRCTF2020]摇滚DJ(建议大声播放 [SCTF2019]Ready_Player_One [XMAN2018排位赛]file [INSHack2019]gflag [X ...

  4. BUUCTF刷题笔记

    BUUCTF刷题笔记 [极客大挑战 2019]BabySQL 从这句话我们可以看出,这个网站的后台是做了过滤处理的 这个时候我们先用万能密码实验一下看看,是什么类型的SQL注入 输入1',看看返回的结 ...

  5. 刷题笔记(十四)--二叉树:层序遍历和DFS,BFS

    目录 系列文章目录 前言 题录 102. 二叉树的层序遍历 BFS DFS_前序遍历 107. 二叉树的层序遍历 II BFS DFS 199. 二叉树的右视图 BFS DFS 637. 二叉树的层平 ...

  6. 2017年第八届蓝桥杯JavaB组省赛 刷题笔记、思路及答案

    前言 本人是二本院校大二的计算机系学生,已经报名了下一届的蓝桥杯省赛,整个寒假在家(这次的寒假挺久的哈哈)在b站学习了一些算法(现在会bfs走迷宫.dfs相关算法.递归回溯.常见排列算法),但是还是有 ...

  7. Github最强算法刷题笔记.pdf

    资料一 昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙 ...

  8. 我收藏的谷歌和阿里大佬的刷题笔记

    金三银四大家在准备校招.社招,或者闲暇的时候,都可以刷刷 Leetcode,保持良好的手感. 之前刷题,一直觉得漫无目的地刷,效率很低.后来发现了两个刷题笔记,谷歌大佬高畅和BAT大佬霜神写的 Lee ...

  9. 三级网络技术刷题笔记

    三级网络技术刷题笔记 RPR与FDDI一样使用双环结构 在RPR环中,源节点向目的节点成功发出的数据帧要由目的节点从环中收回 RPR中每个节点都执行SRP公平算法 RPR环能够在50ms内实现自愈 O ...

最新文章

  1. 如何利用CSS给同一个网页中的超链接设置设置不同的样式?
  2. 使用wireshark观察SSL/TLS握手过程--双向认证/单向认证
  3. asp 下拉框二级联动
  4. php checkbox 保存,PHP中在数据库中保存Checkbox数据
  5. 动态生成节点与删除节点
  6. BZOJ1066: [SCOI2007]蜥蜴
  7. 打开Hololens自动相机,和live stream
  8. HDU 5745 La Vie en rose 暴力
  9. Windows 免密码登录
  10. 坐标系转换中位姿与位置
  11. JVM中OOM和SOF的产生
  12. ios 模拟器沙盒_查看iOS模拟器应用的沙箱文件
  13. STM32 GPIOx_CRL/GPIOx_CRH 寄存器的设置的简化描述
  14. 【高手分享:拼音/五笔输入法通用使用技巧】
  15. 第三章:odoo12开发之模型 -结构化应用数据
  16. 第三章 人类社会及其发展规律
  17. 云原生WebAssembly应用程序已来
  18. uniapp开发App引导页
  19. outlook2016撤回已发出的邮件。
  20. python~计算公式的值

热门文章

  1. 微信小程序代码上传,审核发布小程序
  2. Java应用之阶乘求和
  3. ChatGPT的奇妙人格
  4. 火山坑随笔20180920_不能使用模拟器调试的问题
  5. 大物实验求不确定度代码(简单版)
  6. java锁屏_Java防锁屏小程序代码实例
  7. 金蝶云星空与旺店通·企业版对接集成其他出库查询打通创建其他出库单
  8. 如何一键JS加密解密
  9. 计算机科学与技术 研究生 缩招,今年这些学校不仅提高推免,统考还缩招了?!...
  10. 真牛皮!java程序员面试宝典怎么样