西湖论剑2019--一道MISC题目的解题思路
TTL题的writeup
第一次打西湖论剑,啥都不懂,被题目虐的很惨,一共就做出来两道题,但也算有收获。这里分享一下TTL那道misc题目的writeup,算是给自己点安慰吧。
题目描述
我们截获了一些IP数据报,发现报文头中的TTL值特别可疑,怀疑是通信方嵌入了数据到TTL,我们将这些TTL值提取了出来,你能看出什么端倪吗?
打开题目中的附件是这样的:
一开始没看出啥来,感觉像ASCII码,但是,有好多都大于127了,所以应该不是ASCII码。
后来队友跟我说,可以把每个TTL值二进制码的高两位(高两位比特的数在数据传输中不容易受影响)拿下来,每4个TTL值凑出一个字节的二进制数来。具体为啥想到这个,他跟我说是之前正好看过一篇讲这个的文章。等我找到文章在贴链接。
之后就是写脚本把想法实现了,这里用到了python。
with open('ttl.txt') as f:
lines = f.readlines()
n_num = []
#分析出所有的数
for i in lines:
if i!='\n':
n_num.append(int(i.replace('TTL=','')))
#拿到每个TTL值的高位
rlt = ''
for i in range(0,len(lines)):
tmp = bin(n_num[i])[2:]
tmp = '0'*(8-len(tmp)) + tmp
rlt += tmp[0:2]
#得到最终的结果并存到文件中
rlt2 = ''
for i in range(0,len(rlt),8):
rlt2 += chr(int(rlt[i:i+8],2))
with open('fi.txt','w') as f:
f.write(rlt2.rstrip())
得到的文件中全部都是可打印字符,以FFD8开头,FFD9结束。所以,是jpeg格式的图片无疑了。
之后把这些16进制字符粘贴到winhex里并保存为jpeg格式的图片,得到了一张30KB的残缺二维码。30KB,还残缺!!!一定是夹杂私货了,于是就搜了下FFD8和FFD9的数量,正好6对。
(用搜索的话只能定位,可以用替换搜索,这样可以计数)
接着就是把图片拆出来了,使用binwalk,会分出6张二维码图片,用PPT的插图和对齐的功能拼接一下,得到一个二维码。
(PPT拼图真好用)
本以为扫完码flag就出来了,没想到还有一层加密,带秘钥的,这里我们使用的autokey解密。
之前说的维吉尼亚,不好意思,最开始我们用的维吉尼亚是个错误的被flag包裹的字符串,后来用的和他相似的autokey通过的。感谢那位发现错误我的博主。
扫码后的结果。
key:AutomaticKey cipher:fftu{2028mb39927wn1f96o6e12z03j58002p}
使用autokey解开密文:(用了个在线的,可能会慢一点)
http://www.practicalcryptography.com/ciphers/classical-era/autokey/
得到这么个东西:flagabdfdeabee,数字和括号没处理,自己手动加上就过了。
flag{2028ab39927df1d96e6a12b03e58002e}
参加完这个比赛,感觉除了隐写能写点,其他的,真的是欠缺!尤其那个PWN和reverse,得好好努力了。或许我需要一个大师傅来带带我,求带啊!
西湖论剑2019--一道MISC题目的解题思路的更多相关文章
- 西湖论剑2019部分writeup
做了一天水了几道题发现自己比较菜,mfc最后也没怼出来,被自己菜哭 easycpp c++的stl算法,先读入一个数组,再产生一个斐波拉契数列数组 main::{lambda(int)#1}::ope ...
- 西湖论剑2019复现-Web之首家线上赌场上线啦
首页打开 经过测试发现name和code参数可控,但尝试注入没有发现注入点,于是直接扫描目录找思路 一扫描,果然有问题 目录扫描里面可以看到有一个/.DS_Store的文件,DS_Store是Mac ...
- 美团:WSDM Cup 2019自然语言推理任务获奖解题思路
WSDM(Web Search and Data Mining,读音为Wisdom)是业界公认的高质量学术会议,注重前沿技术在工业界的落地应用,与SIGIR一起被称为信息检索领域的Top2. 刚刚在墨 ...
- 2019西湖论剑网络安全技能大赛(大学生组)部分WriteUp
这次比赛是我参加以来成绩最好的一次,这离不开我们的小团队中任何一个人的努力,熬了一整天才答完题,差点饿死在工作室(门卫大爷出去散步,把大门锁了出不去,还好学弟提了几个盒饭用网线从窗户钓上来才吃到了午饭 ...
- 一道仅有7人通过的超5星微软比赛题目-------解题思路&优秀代码分享,邀你来“找茬儿”
6月23日英雄会平台发布了一道难度为超5星的微软比赛题目,截止活动结束共有300多名编程爱好者参与线上答题,而最终通过者仅有7人,通过率仅为2%.为什么成绩如此出人意料?是因为题目的英文描述难以理解? ...
- 安恒西湖论剑线下上午CTF部分题目WP
简单的做了两个题,一道逆向,一道misc,其他题目,因为博主上课,时间不太够,复现时间也只有一天,后面的会慢慢补上 先说RE1,一道很简单的win32逆向,跟踪主函数,R或者TAB按几下, 根据esp ...
- 记一次CTF比赛过程与解题思路-MISC部分
前言 最近好久没更新博客和公众号了,有朋友问是不是在憋大招,但我不好意思说其实是因为最近一段时间太懒了,一直在当咸鱼- 意识到很久没更新这个问题,我是想写点什么的,但好像一直当咸鱼也没啥可分享的,最近 ...
- 一道算法题目, 二行代码, Binary Tree
June 8, 2015 我最喜欢的一道算法题目, 二行代码. 编程序需要很强的逻辑思维, 多问几个为什么, 可不可以简化.想一想, 二行代码, 五分钟就可以搞定; 2015年网上大家热议的 Home ...
- 之前同事问到的一道python题目
Python面试题 之前同事问了一道Python题目如下,暂时归类为面试题 题目:把类似'123.456'的字符串转换成浮点型数据 方法一: >>> print '{:.3f}'.f ...
随机推荐
- 【php设计模式】享元模式
享元模式其实就是共享独享模式,减少重复实例化对象的操作,从而将实例化对象造成的内存开销降到最低. 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象.我们将通过创建 5 个对象来画出 ...
- win10 增加一个新磁盘
1.右键我的电脑,选择管理 可以看到C盘的空间相比较大,拿出来250G的空间做成E盘 2.选择OS(C:),右键,压缩卷,请稍后,点击压缩 3.此刻会看到,有一块黑色区域就是新建的未分配空间,这时我们 ...
- 各种web编辑器
wangEditor,这是一个很轻量.简洁编辑器 UEditor:百度前端的开源项目,功能强大,基于 jQuery,但已经没有再维护,而且限定了后端代码,修改起来比较费劲 bootstrap-wysi ...
- OverflowError:django signed integer is greater than maximum 数据库日期字段相关错
使用django中的默认数据库sqlite3, 在pycharm中录入日期字段相关信息结果出现问题 在保存的时候如图 直接在界面选择的日期变成了时间戳, 并且在获取数据的时候报错 经过查询之后(舔大佬 ...
- python基础:if判断与流程控制案例
# 1.使用while循环输出1 2 3 4 5 6 8 9 10 count = 0 while count < 11: if count == 7: count += 1 continue ...
- yum安装mysql-server
yum install mysql-server mysql vi /etc/my.cnf [client] default-character-set=utf8 service mysqld sta ...
- MySQL中DATA类型数据和DATATIME类型数据的比较
在网上大题查了下这个问题,网上有的人说可以直接比较,并给出了测试用例,也有的人说不能比较,于是我自己尝试了一下,实际测试是可以的,不过,当传入DATA类型时间与DATATIME类型时间进行比较的时候, ...
- 搜索引擎选择: Elasticsearch与Solr(转载)
原文地址:http://www.cnblogs.com/chowmin/articles/4629220.html 搜索引擎选型调研文档 Elasticsearch简介* Elasticsearch是 ...
- CF1009F Dominant Indices——长链剖分优化DP
原题链接 \(EDU\)出一道长链剖分优化\(dp\)裸题? 简化版题意 问你每个点的子树中与它距离为多少的点的数量最多,如果有多解,最小化距离 思路 方法1. 用\(dsu\ on\ tree\)做 ...
- shell编程expr表达式----传智播客的书linux编程基础中出现的问题
首先声明:本人是传智播客的粉丝,拥有他出的多本编程书籍,此文绝无诋毁抹黑之意. 但在linux系统编程第88页给出的while循环范例中,代码运行无法得到预期结果 原代码如下 #!/bin/sh su ...