天天看点

安恒 6月月赛 简单的日志分析、又是crackme和你认识我吗?

安恒 6月月赛 简单的日志分析、又是crackme和你认识我吗?

一天一道CTF题目,能多不能少

0x001 Misc 简单的日志分析

题目链接:

链接:https://pan.baidu.com/s/1xxiCe_oTRcoIN-eFEfmTSg

提取码:7j26

复制这段内容后打开百度网盘手机App,操作更方便哦

解压打开,日志文件分析,发现是对一个网站的盲注的日志,

然后就开始寻找flag,时间一样的就是说明正确,有20多个字符,,,

眼睛找瞎,,,,,,,,

安恒 6月月赛 简单的日志分析、又是crackme和你认识我吗?

注意第28的那,时间差了一秒:

安恒 6月月赛 简单的日志分析、又是crackme和你认识我吗?

最后得到的flag:

flag{50f1ea7cf1544106e3555c4cc2cf4087}

0x002 RE 又是crackme

题目链接:

链接:https://pan.baidu.com/s/1uNH7OfeHo23FvtxZLaIM8Q

提取码:pls3

复制这段内容后打开百度网盘手机App,操作更方便哦

下载解压,发现是EXE文件,

查壳,么得,

运行得到:

安恒 6月月赛 简单的日志分析、又是crackme和你认识我吗?

直接用OD打开,查看字符串:

安恒 6月月赛 简单的日志分析、又是crackme和你认识我吗?

点击进去,,,

在%s那下个断点,因为如果你输入正确他也只会显示OK

而且后面有一个比较,所以我们设一个断点来查看一下后面会怎么走

安恒 6月月赛 简单的日志分析、又是crackme和你认识我吗?

直接F9执行到断点处,

之后再一步一步执行,按F8

输入就随便输入

这时候注意观察各个寄存器中的值:

安恒 6月月赛 简单的日志分析、又是crackme和你认识我吗?

学过汇编应该知道,test和cmp差不多,都是进行比较的,

所以flag也就很清晰了:

Dbapp{crackme100}

0x003 crypto 你认识我吗?

题目链接:

链接:https://pan.baidu.com/s/19u0j-f7dTzoYDTckrI_T1A

提取码:ruh5

复制这段内容后打开百度网盘手机App,操作更方便哦

解压有两个文件:

安恒 6月月赛 简单的日志分析、又是crackme和你认识我吗?

打开py文件得到加密的代码:

from message import plainText
from message import key

pla_len = len(plainText)
key_len = len(key)

print "plainText length is %d" % pla_len
print "key length is %d" % key_len

pla_matrix = []

for i in range(0,pla_len,key_len):
	pla_matrix.append(list(plainText[i:i+key_len]))

ord_key = []

for k in key:
	ord_key.append(ord(k))

ord_key = sorted(ord_key)

output_order = []

for i in ord_key:
	output_order.append(key.find(chr(i)))

for i in output_order:
	for s in pla_matrix:
		print s[i],
	print "\n"
           

又打开加密后的txt文件:

plainText length is 77
key length is 11

y o s t f Y z 
i d i h i a A 
s h l c g _ g 
n k s i o g m 
k n i f n { a 
t u t n p f e 
h l h s t l _ 
I o t m y s r 
h a u r i A } 
o w c e l o i 
u t o n a u n 
           

看上去好像是明文长度为77,key是11,

研究半天,发现key里面肯定是不一样的字符或数字,

否则数组肯定有一样的

而且明文好像也没经过什么加密

估摸着给出的就是明文,就是变换了一下行列

于是自己就开始手动变换,,,

得到如下:

I o t m y s r 
t u t n p f e 
h l h s t l _ 
i d i h i a A 
n k s i o g m 
k n i f n { a
y o s t f Y z  
o w c e l o i 
u t o n a u n 
s h l c g _ g 
h a u r i A } 
           

拼起来不就是一句话??也不难拼嘛,,,

于是得到flag:

flag{You_Are_Amazing}

提交是把flag内容取出来经过MD5加密即可得到真的flag:

f4803c620142b6fb6c3c3e9bd4876247

OK啦,菜鸡就只能做这么几个题目了,

搞了一下午,没复习

但是快乐,啊哈哈哈哈哈