ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

记一次GKCTF之旅

2020-05-25 19:54:56  阅读:261  来源: 互联网

标签:26 一次 题目 之旅 密码 flag letter 加密 GKCTF


GKCTF游记

昨天吧,去GKCTF玩了一下。题目很有意思,宝可梦也很好玩,我心情非常好,天台的风也很大......

不多说了,把昨天认真看过的几道题记录总结一下。这里特别感谢出题的二进制师傅们,感谢师傅们让我这个二进制彩笔做了一个下午的misc和密码学。

密码学

1.小学生的密码

题目给出的信息如下

e(x)=11x+6(mod 26)

密文:welcylk(flag为base64形式)

这是一个仿射加密。(这题昨天非常艹的就是手算算错,下次记得写脚本,叹气叹气)

仿射加密本质上还是一种单置换密码,置换密码我们最常见的就有凯撒密码。但是凯撒密码是一种移位密码,它实现了一个常数级别的置换(秘钥是区间为[0,26]的一个常数),而仿射密码实现的是一个一次的加密。

看到(mod 26),想到26个字母,这里应该实现的就是26个字母的一个闭环。

仿射函数的运算法则如下:

加密公式:Y=(AX+B)%26

解密公式:X=(A的逆元)*(Y-B)%26

写个脚本。

letter='abcdefghijklmnopqrstuvwxyz'
word='welcylk'
flag=''

a=11
b=6
for i in word:
    for j in range(0,len(letter)):
        if i==letter[(a*j+b)%26]:
            flag+=letter[j]
print(flag)

跑出来答案加个base64解密一下。

2.汉字的秘密

题目是个文件,打开就一堆汉字,当铺密码,解密结果如上所示。

解出来这么个东西,然后,,,

然后题目提示flag{小写字母},出题的小姐姐告诉flag是可读字符串,有“_”字符。

我开始以为这是把里面的小写字母提取出来,是“vk”,我联想到Virink师傅的id了(先自己嘲讽一下自己的脑洞),我以为这就是flag了......

事实证明我错了,这还是一个加密。上面的“v”和“k”是小写的,一个在第五位,一个在最后一位,flag{...}格式,“{”在第五位,“}”在最后一位,那么“EJ>C”对应的一定是“flag”这个字符串。

还是一个置换吧,“E”和“F”的差是,“J”和“L”的差是2,“>"和“A”的差是3,“C”和“g”的差是4。

验证一下,“{”的“v”的差值是5,“}”和“k”的差值是18。

miwen="EJ>CvSHMV7G9R9@?3k"
flag=''

i=0
for a in miwen:
    i+=1
    flag+=chr(ord(a)+i)

print(flag)

 

 写个脚本,跑出:flag{you_are_good}。

逆向

1.check_in

一道逆向题目。出题师傅说在Github上看到的源码。这个项目在b站上其实也可以找得到源码。

这是一个用C语言实现了一个虚拟的电脑,上面有登录系统,看来是需要找到密码了。

我们打开IDA,找到主函数,然后找到登录函数

这个代码段肯定负责密码校验,登录密码肯定在data段,strcmp那里进去看一下

可以看见登录密码应该是“HelloWorld”

假的flag,base64解码

Why don't you try migic brick game.

好嘛,去打砖块,然后就打出这个东西

这道题还有其他的解法,包括修改EIP,字符串直接base58解码,后面补充。

 

写在最后:还有一道宝可梦的虚拟器题目,比较脑洞,就不写了,但是用虚拟器改动汇编代码,修改游戏设置这个我觉得可以再研究一下。PWN题目杀我,后面学习了之后再来写。这次的题目挺有意思的,有时间把其他的题目都补充上来。

我是弱鸡

我是弱鸡

我是弱鸡

重要的事情说三遍。

标签:26,一次,题目,之旅,密码,flag,letter,加密,GKCTF
来源: https://www.cnblogs.com/L0g4n-blog/p/12957364.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有