DDCTF部分WP

这周去打了DDCTF,花了一周做出了九道题,完成了1000分的梦想。也算是菜鸡打比赛这么久拿到分数最多的一次了,现记录如下:

MISC

1、(╯°□°)╯︵ ┻━┻

(╯°□°)╯︵ ┻━┻
d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1b2e2e5e2b5b4e4b8b7e6e1e1b6b9e4b5e3b8b1b1e3e5b5b6b4b1b0e4e6b2fd

刚开始拿到这道题的时候以为是base64,因为base64是可以解出来的,解出base64后以为是栅栏密码,解了半天无效,卡在这里。
之后观察字符特点发现字母最大没有超过f的,应该是16进制,可是转换成ascii还是乱码,又试过把整个文本倒序输出(因为题目颜文字名称为flipping table),依然无效。
之后尝试尝试各种方法,并在Wechall里面发现了类似的题目(Training: Crypto - Caesar II),还是做题少啊。。。。
其实题目就是一个16位表示的移位密码,写脚本跑flag:

s="d4 e8 e1 f4 a0 f7 e1 f3 a0 e6 e1 f3 f4 a1 a0 d4 e8 e5 a0 e6 ec e1 e7 a0 e9 f3 ba a0 c4 c4 c3 d4 c6 fb b7 b9 b8 e4 b5 b5 e4 e2 b7 b6 b5 b5 b2 e1 b9 b2 b2 e4 b0 b0 e4 b7 b7 b5 e5 b3 b3 b1 b1 b9 b0 b7 fd"
s=s.split()
for key in range(0,128+1,1):
    for i in s:
        i = int(i,16)
        print (chr((i + key + 256) % 256 ), end = '')
    print (key)

当跑到128的时候看到了flag

2、第四扩展FS

D公司正在调查一起内部数据泄露事件,锁定嫌疑人小明,取证人员从小明手机中获取了一张图片引起了怀疑。这是一道送分题,提示已经在题目里,日常违规审计中频次有时候非常重要。

题目附件是一个windows.jpg文件,binwalk发现内含有zip文件,使用foremost分离得到一个zip文件
zip文件经过加密,检查过发现并不是伪加密,于是有一次卡在了密码上。。。。。。
后来群里有人提示那张jpg文件里面有东西,查了半天隐写最后竟然发现密码是在属性->详细信息->备注里!!!
后来想想其实这样是比较符合实际情况的,很多人是会把不常用的密码写到文件的备注里,可以看出DD的这次赛题画风比较贴近实际了。
打开zip文件得到了一个file.txt,考虑到题目最后一句话中提到的频次,写个脚本来统计文件中字母出现的频次:

s=open('file.txt','r').read()
A="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789!{}"
for a in A:
    times=s.count(a)
    print (times,a)

然后很惊喜的发现有些字母是没有出现过的,而有些字母出现了一千多次,在这儿突然开个脑洞把出

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值