前言

之前做杂项的题比较佛,主要是比赛里面考的大多是脑洞,弯路多,有时候没有hint挺难找到思路,做多了也没什么提升,还是喜欢实打实的脚本题和取证分析。4月25号到五一假期结束那段时间,一口气刷了五页题,实际上考点就那些。小学期搞完了之后,来总结一下知识体系,有些很简单的签到题就一语带过了,用到脚本的题,我会把代码贴上去

题解

第二页

[被劫持的神秘礼物]

追踪TCP流,可以看到这个地方是用POST方式进行登录的,用户名是admina,密码是adminb

拼接起来,再md5加密即得到flag

[刷新过的图片]

F5隐写,下载工具F5-steganography,跑出来之后得到out.txt

这个txt文档开头是zip文件的标志PK,另存为out.zip后打开得到flag

实际上这里应该是伪加密,只不过我用的52好压能直接打开hhhhhh

[BJDCTF2020 认真你就输了]

像docx,xls这种文件格式实质上是压缩包,可以把文件拖到winhex里,文件头是PK,即zip,那么我们可以将文件格式改为zip

这个题把文件格式改为zip,解压之后在xl/charts/路径下找到flag

[snake]

把图片拖入winhex,拖到最下面发现一串base64

解码之后得到

百度搜索一下,麻辣鸡这首歌的名字叫anaconda

另外,刚才在winhex里头看到最后是有PK的文件头,于是分离出来

得到cipher(密文)和key(密钥)文件,猜想这应该是某种加密

[BJDCTF2020 藏藏藏]

把文件拖入winhex中,拉到最下面看到有PK文件头标志,分离出来

压缩包里头有个word文档,扫描里头那个二维码得到flag

[被偷走的文件]

文件传输一般是用TCP协议或者FTP协议,我们先追踪TCP流,找到了用FTP协议传输的flag.rar的通信记录

下一个包内容就是压缩包的16进制内容

复制下来,在winhex里面新建一个文件命名为flag.rar

这个压缩包有密码,但是题目中没有任何提示,找遍了也没有hint,只能尝试爆破

输入密码之后解压(用winrar)就得到了flag,说实话这里的爆破挺牵强的

[GXYCTF2019 佛系青年]

拖到winhex里面分析一下,文本搜索PK,发现在源文件数据区的加密标志是09 00,而目录区是00 00,于是可判定为伪加密

修改之后解压打开,有一个txt文件

这种加密方式叫与佛论禅,找一个在线网站解密

[BJDCTF2020 你猜我是个啥]

下载下来是个zip,然而却并不能解压,于是放到winhex里面看

明显是个png文件,修改格式之后是个二维码,扫描之后提示是假的flag

在winhex最下面发现flag

[菜刀666]

追踪TCP流,分析一下可知这是一个通过传图片马上去,然后用菜刀连接的一个过程

追踪TCP流

TCP 流7如下

这里action解码过来如下

z1解码如下

z2的值开头是FF D8 FF E0,即jpg的文件头,复制下来保存为666.jpg

大致的过程是把图片的字节流保存到缓存buf中,然后再通过步长为2的循环写入服务器

TCP 流9如下

这里由解码之后的结果可知,通过木马上传了一个压缩包上去

将这个压缩包的字节流保存为flag.zip

它的密码就是刚刚那张图片上的字符串,输入之后即得flag

[秘密文件]

跟之前那个题很相似,首先找到通过FTP协议传输的rar格式压缩包的字节流,保存为flag.rar,爆破密码就可以打开得到flag

[BJDCTF2020 just_a_rar]

根据文件名提示爆破四位数密码

解压得到一个图片,将图片拖入winhex中,往下拉找到flag

[BJDCTF2020 鸡你太美]

一ctf题树枝666

下载得到的篮球副本那个文件没有GIF文件头,补充上去就能看到flag了

[梅花香之苦寒来]

把图片拖到winhex,往下拉看到一串16进制字符串

复制下来并转换为明文

转换之后发现是一些坐标值

这个时候需要用到画图软件gnuplot,首先需要将这些坐标值转换为它可识别的形式

之后跑脚本就行

扫描二维码得到flag

[BJDCTF2020 一叶障目]

这个题其他没有任何提示,我根据题目联想到的是图片的宽和高都被修改了

先把图片拖进winhex看看结构

根据图片现有宽高和校验码爆破原有宽高的脚本如下

import struct
import zlibdef hexStr2bytes(s):b = b""for i in range(0,len(s),2):temp = s[i:i+2]b +=struct.pack("B",int(temp,16))return bstr1="49484452"
str2="0806000000"
bytes1=hexStr2bytes(str1)
bytes2=hexStr2bytes(str2)
wid,hei = 321,332#0x0141,0x014Ccrc32 = "0xC20F1FC6"for w in range(wid,wid+2000):for h in range(hei,hei+2000):width = hex(w)[2:].rjust(8,'0')height = hex(h)[2:].rjust(8,'0')bytes_temp=hexStr2bytes(width+height)if eval(hex(zlib.crc32(bytes1+bytes_temp+bytes2))) == eval(crc32):print(hex(w),hex(h))

运行结果:宽为0x141,高为0x34C

修改宽高之后得到flag

[SWPU2019 神奇的二维码]

扫描二维码之后发现是假的flag,丢进winhex里头,在最下面看到一个good/good.mp3文件名,猜测是包含了其他文件

binwalk -e 分离一下,得到4个压缩包

word文档里头的base64多重解码之后结果为

encode.txt文件里的base64解码之后结果为asdfghjkl1234567890

前者可以打开那个带图片的压缩包,后者可以打开那个音频

把音频拖入Audacity分析,发现是摩斯电码,长的为-,短的为.,翻译过来是MORSEISVERYVERYEASY

图片经过多种分析后,我发现并没有什么用,把摩斯电码那个转成小写就是flag了

[BJDCTF2020 纳尼]

把gif文件拖入winhex,发现缺少GIF文件头,补充之后把每一帧保存为图片

每张图片上有base64字符串的一部分,连起来解码就行

[穿越时空的思念]

音频拖到Audacity里面去分析,是摩斯电码,翻译过来就行

[ACTF新生赛2020 outguess]

用到工具outguess,这里在图片的属性中有一段话

这个是社会主义核心价值观加密,找个解密网站解得 abc

然后跑工具就行

flag.txt里头就是flag

[HBNIS2018 excel破解]

拖入winhex,字符串搜索flag即得

[谁赢了比赛?]

将图片拖入winhex,搜索Rar有结果,说明图片包含了一个二维码,于是用foremost分离出来

得到一个压缩包,爆破密码之后可以打开

里头有一个gif文件,保存所有帧

第310帧是空白的,右下角有一串文字,把这张图单独提出来

拖入winhex里头没什么发现,用stegsolve打开,换通道

扫描二维码得flag

[SWPU2019 我有一只马里奥]

NTFS流隐写——NTFS交换数据流是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流,就是说除了主文件流之外还可以有许多非主文件流寄宿在主文件流中,它使用资源派生来维持与文件相关的信息

使用工具NtfsStreamsEditor可以读取到NTFS流的flag.txt,好像foremost也可以分离出来

[HBNIS2018 来题中等的吧]

摩斯电码,转换之后就是flag

[GXYCTF2019 gakki]

foremost分离得到一个带密码的rar压缩包

其他没有线索了,于是考虑爆破密码

打开压缩包之后发现是一大串无规律的字符,搜索flag也没有结果,考虑字频统计

贴一下末初师傅的脚本

# -*- coding:utf-8 -*-
#Author: mochu7
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]"
strings = open('./flag.txt').read()result = {}
for i in alphabet:counts = strings.count(i)i = '{0}'.format(i)result[i] = countsres = sorted(result.items(),key=lambda item:item[1],reverse=True)
for data in res:print(data)for i in res:flag = str(i[0])print(flag[0],end="")

[WUSTCTF2020 find_me]

在图片备注里发现盲文

翻译得到

[ACTF新生赛2020 base64隐写]

base64隐写的原理如下

  1. 依次读取每行,从中提取出隐写位:
    如果最后没有‘=’,说明没有隐写位,跳过;
    如果最后是一个‘=’,说明有两位隐写位,将倒数第二个字符转化为对应的二进制索引,然后取后两位;
    如果最后是两个‘=’,说明有四位隐写位,将倒数第三个字符转化为对应的二进制索引,然后取后四位
  2. 将每行提取出的隐写位依次连接起来,每8位为一组转换为ASCII字符,最后不足8位的丢弃

解题的脚本如下

import base64def int2Bin(digit):return bin(digit)[2:]    #将索引转成二进制,去掉'0b';def binAsc(string):       #二进制转成ASCII码temp = ''for i in range(int(len(string) / 8)):temp += chr(int(string[i * 8 : i* 8 + 8] , 2))return tempdef readBase64FromFile(filename):Base64Char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"     #Base64字符集 已按照规范排列result = ''with open(filename ,'r') as f:for data in f.readlines():if data.find('==') > 0:result += int2Bin(Base64Char.index(data[-4]))[-4:]      #根据隐写原理,‘==’情况取等号前最后一个字符转换后取后4位elif data.find('=') > 0:result += int2Bin(Base64Char.index(data[-3]))[-2:]      #根据隐写原理,‘=’情况取等号前最后一个字符转换后取后2位print(binAsc(result))readBase64FromFile('flag.txt')

[GUET-CTF2019 KO]

Ook!编码,解码即可

[SWPU2019 伟大的侦探]

用010 Editor打开文档,编码换成EBCDIC,看到压缩包密码

打开压缩包,里头是福尔摩斯跳舞小人密码

对照着解密即可

[黑客帝国]

下载下来的文档里头全是十六进制字符串,复制到winhex之后发现是rar格式的压缩文件,保存

文件属性里头没有密码的提示,考虑爆破密码

打开之后是一个损坏的png文件,拖入winhex查看

文件头同时有jpg和png的,而文件尾是jpg格式的

于是修改文件头,保存为jpg格式

flag就在图片上

[MRCTF2020 ezmisc]

CRC32校验错误(可以复制到kali里面,如果提示打不开就基本上可以确定是)

用之前那个爆破脚本爆破原有宽和高

修改之后得到flag

[MRCTF2020 你能看懂音符吗]

解压失败,拖入winhex分析,看到文件头是错误了,改过来之后解压

打开得到一个word文档,这个意思应该是把文字隐藏了,全选之后取消隐藏文字

得到一串音符

乐符密码解密得

[HBNIS2018 caesar]

凯撒密码,位移为1

[HBNIS2018 低个头]

打不开就基本上可以确定是)

用之前那个爆破脚本爆破原有宽和高

[外链图片转存中…(img-YpHzsA4v-1657101580182)]

修改之后得到flag

BUUCTF Misc wp大合集(2)相关推荐

  1. BUUCTF Misc wp大合集(3)

    前言 之前做杂项的题比较佛,主要是比赛里面考的大多是脑洞,弯路多,有时候没有hint挺难找到思路,做多了也没什么提升,还是喜欢实打实的脚本题和取证分析.4月25号到五一假期结束那段时间,一口气刷了五页 ...

  2. 【收藏】Java多线程/并发编程大合集

    (一).[Java并发编程]并发编程大合集-兰亭风雨    [Java并发编程]实现多线程的两种方法    [Java并发编程]线程的中断    [Java并发编程]正确挂起.恢复.终止线程    [ ...

  3. 值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(下)

    作者 | 黄浴 来源 | 转载自知乎专栏自动驾驶的挑战和发展 [导读]在近日发布的<值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(上)>一文中,作者介绍了一部分各大公司和机构基于 ...

  4. 年度盘点!必看AI顶会论文、Github高星项目大合集(附链接)

    目前,国外计算机界评价学术水平主要是看在顶级学术会议上发表的论文,特别是在机器学习.计算机视觉和人工智能领域,顶级会议才是王道.本期我们盘点了2019年人工智能领域的顶会,如最核心的顶会AAAI.IJ ...

  5. 独家 | 年度盘点!必看AI顶会论文、Github高星项目大合集(附链接)

    目前,国外计算机界评价学术水平主要是看在顶级学术会议上发表的论文,特别是在机器学习.计算机视觉和人工智能领域,顶级会议才是王道.本期我们盘点了2019年人工智能领域的顶会,如最核心的顶会AAAI.IJ ...

  6. 福利 | 16场精选活动干货、精华笔记、课件分享:数据派独家讲座干货大合集

    数据派一直致力于打造数据科学人才聚集地,传播数据科学知识,分享前沿科技动态,分析应用案例,组织线下活动.近期数据派开设"福利"专栏,将在每周日晚推送往期文章干货大合集,欢迎关注.本 ...

  7. jieba库 python2.7 安装_Python中文分词工具大合集:安装、使用和测试

    这篇文章事实上整合了前面两篇文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AI ...

  8. 网络安全中机器学习大合集 Awesome

    网络安全中机器学习大合集 from:https://github.com/jivoi/awesome-ml-for-cybersecurity/blob/master/README_ch.md#-da ...

  9. windows修改策略后执行命令_Windows 下的提权大合集

    Windows 下的提权大合集 项目地址:https://github.com/lyshark/Windows-exploits Windows平台提权漏洞集合 项目地址:https://github ...

最新文章

  1. Hadoop学习--Hive安装与配置
  2. 深入理解LVS,还学不会算我输!
  3. 数字黑洞java_[蓝桥杯][算法提高VIP]数字黑洞 (Java代码)
  4. ai中如何插入签名_如何在PDF中插入一个或多个空白页?
  5. 从 C++ 到 Objective-C 的快速指南 【已翻译100%】
  6. python多态_多态是什么?为什么要使用多态?
  7. Android之drawlayout使用和总结
  8. Microsoft SQL Server Desktop Engine安装过程中遇到的问题(2)
  9. SQLSERVER查询存储过程内容
  10. C# 动态语言扩展(学习笔记)
  11. 趣头条宣布6月30日停止自媒体创作平台服务和维护
  12. c java python php_php c java python 语言对比
  13. 继承的作用是什么?看看下面这些例子吧!
  14. Git,GitHub入门
  15. vb html单选按钮,VB教程:单选按钮(OptionButton)
  16. 用来正常显示中文标签显示错误代码plt.rcParams[‘font.sans-serif’] = [‘SimHei’]无法运行
  17. UIDataCollector的下载和使用
  18. Typora设置图片上传服务
  19. 2K元预算为什么要买7nm处理器的OPPO A95 主要还是耐用
  20. IT男着装bug修复,下一个业界男神就是你!

热门文章

  1. RTL8762 开发板试用
  2. 8月AppStore最新社交App排名:soul第一,觅伊第十
  3. java ssm框架论文,基于SSM框架的个人博客系统(源码+论文)
  4. 癌症免疫细胞治疗知识:CAR-T与TCR-T的区别在哪里?--转载
  5. linux系统文件信息系统满,在Deepin系统中提示系统盘已经满了(/home文件大)的解决方案...
  6. 不得不说的Telegram : 币圈与链圈的微信
  7. ff15测试软件翻译,最终幻想15数据详细分析 FF15详细的数值参数测试
  8. 万能分页显示上一页下一页
  9. 喧嚣之后,元宇宙“凉了”?
  10. java框体怎么添加背景图,文本框添加背景图片,文本框背景图片,public class