自从开始玩CTF后,发现这个游戏还是比较有意思,发现了一个练习场地IDF实验室:http://ctf.idf.cn/

刷刷里面的题目,今天完成了其中的牛刀小试,分享一下解题思路:

1. 被改错的密码

题目为:

从前有一个熊孩子入侵了一个网站的数据库,找到了管理员密码,手一抖在数据库中修改了一下,现在的密码变成了 cca9cc444e64c8116a30la00559c042b4,那个熊孩子其实就是我!肿么办求解!在线等,挺急的。。

PS:答案格式wctf{管理员原密码}

第一眼看上去cca9cc444e64c8116a30la00559c042b4是一个MD5,但是确是33位,那么循环去掉一位解密,直到解出来正确:(http://pmd5.com)MD5在线解密

最后去掉l字符,解密成功

所以flag是wctf{idf}

2. 啥?

题目就一张图片和一串文字,看来只有在图片上做文章了,下载图片,拖入UltraEdit中去,

看了看,在底部发现了ctf的字样,

复制出来:wctf{mianwubiaoqing__},提交,答案不对。

根据第一题,这个好像少了个w,加上去,

wwctf{mianwubiaoqing__}通过。

3. ASCII码而已

题目一个字符串:

\u5927\u5bb6\u597d\uff0c\u6211\u662f\u0040\u65e0\u6240\u4e0d\u80fd\u7684\u9b42\u5927\u4eba\uff01\u8bdd\u8bf4\u5fae\u535a\u7c89\u4e1d\u8fc7\u767e\u771f\u7684\u597d\u96be\u3002\u3002\u0077\u0063\u0074\u0066\u007b\u006d\u006f\u0072\u0065\u006d\u006f\u0072\u0065\u005f\u0077\u0065\u0069\u0062\u006f\u005f\u0066\u0061\u006e\u0073\u007d

题目就一堆字符串,一个unicode编码,写个python脚本转换一下即可:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
str = u'\u5927\u5bb6\u597d\uff0c\u6211\u662f\u0040\u65e0\u6240\u4e0d\u80fd\u7684\u9b42\u5927\u4eba\uff01\u8bdd\u8bf4\u5fae\u535a\u7c89\u4e1d\u8fc7\u767e\u771f\u7684\u597d\u96be\u3002\u3002\u0077\u0063\u0074\u0066\u007b\u006d\u006f\u0072\u0065\u006d\u006f\u0072\u0065\u005f\u0077\u0065\u0069\u0062\u006f\u005f\u0066\u0061\u006e\u0073\u007d'
str = str.encode('utf-8')
print str

得到flag:

wctf{moremore_weibo_fans}

4. 摩斯密码

用python脚本跑一下摩斯密码:

# -*- coding:utf-8 -*-
# 摩斯密码表(自己可定义加密方式...)
CODE = {
# 26个字母
'A': '.-', 'B': '-...', 'C': '-.-.',
'D': '-..', 'E': '.', 'F': '..-.',
'G': '--.', 'H': '....', 'I': '..',
'J': '.---', 'K': '-.-', 'L': '.-..',
'M': '--', 'N': '-.', 'O': '---',
'P': '.--.', 'Q': '--.-', 'R': '.-.',
'S': '...', 'T': '-', 'U': '..-',
'V': '...-', 'W': '.--', 'X': '-..-',
'Y': '-.--', 'Z': '--..', # 10个数字
'': '-----', '': '.----', '': '..---',
'': '...--', '': '....-', '': '.....',
'': '-....', '': '--...', '': '---..',
'': '----.', # 16个标点符号
',': '--..--', '.': '.-.-.-', ':': '---...', ';': '-.-.-.',
'?': '..--..', '=': '-...-', "'": '.----.', '/': '-..-.',
'!': '-.-.--', '-': '-....-', '_': '..--.-', '(': '-.--.',
')': '-.--.-', '$': '...-..-','&': '. . . .','@': '.--.-.' # 下面还可自行添加密码字典 }
# print CODE
# 反转字典(作为解密摩斯密码的字典)
UNCODE = dict(map(lambda t:(t[1],t[0]),CODE.items()))
# print UNCODE '''
将字符串转换成摩斯密码
params:需要转换的字符串
'''
def stringToMorseAlphabet(msg):
# message用于保存加密结果
message = ''
# msg = raw_input('Message:')
# msg = 'this is test'
print msg + ' ///对应的摩斯密码为///',
for c in msg:
if c == ' ':
message += ' '
else:
# upper():将所有小写字母转换成大写字母
message += CODE[c.upper()] + ' '
return message '''
将摩斯密码还原成字符串
params:需要还原的摩斯码
'''
def morseAlphabetToString(morseCode):
# message用于保存解密结果
message = ''
list = morseCode.split(' ')
# print list
#print morseCode + ' ///对应的明文为///',
for s in list:
if s == '':
message += ' '
else:
message += UNCODE[s]
return message # Test
# print stringToMorseAlphabet('I love you')
#print morseAlphabetToString(stringToMorseAlphabet('what the fuck!'))
print morseAlphabetToString('-- --- .-. ... . -.-. --- -.. . ')

得到flag:

wctf{M O R S E C O D E}

但是有点无语,提交不正确,改成小写,把空格去了提交过了,有点不知所措:

wctf{morsecode}

5.聪明的小羊

首先看题目描述:

一只小羊跳过了栅栏,两只小样跳过了栅栏,一坨小羊跳过了栅栏...

tn c0afsiwal kes,hwit1r  g,npt  ttessfu}ua u  hmqik e {m,  n huiouosarwCniibecesnren.

目测应该是栅栏密码。何为栅栏密码,这种密码和凯撒密码类似都是移位密码,不同的事,栅栏密码先将一个字符串分成N组,然后依次取出每个组的第一个字符第二个字符组合成新的数据。

然后暴力破解即可,穷举其长度的因子:用python写个脚本跑一下:

#!/usr/bin/env python
# -*- coding: utf-8 -*- def zhanlan(midata = None, zu = 0, len = 0 ):
mindata=''
for i in range(zu):
for j in range(len):
mindata = mindata+midata[i+zu*j] return mindata if __name__ == '__main__':
midata="tn c0afsiwal kes,hwit1r g,npt ttessfu}ua u hmqik e {m, n huiouosarwCniibecesnren."
for zu in range(1,len(midata),1):
if len(midata)%zu == 0:
print zhanlan(midata,zu,len(midata)/zu)

最后得到flag:

wctf{C01umnar}

IDF实验室-CTF训练营-牛刀小试CTF的更多相关文章

  1. IDF 实验室部分题目WriteUp

    前天花了一个下午的时间刷了几道IDF实验室的题目, 这个网站实在是有点冷清, 题目也比较少, 所以就被我和师兄们刷榜了2333... 因为我最先开始做, 所以就干脆刷到第一去了. 题目很水, 切莫见怪 ...

  2. IDF实验室:牛刀小试

    被改错的密码[从格式和长度来推测出是MD5] 迷醉..人生第一道ctf题?据说是因为看起来像是MD5加密的格式,但是数了一下发现有33个字符,就推测???熊孩子多敲了一位进去.从32个变33个了,然后 ...

  3. IDF实验室WORD隐写术

    上帝也哭泣http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=48 下载下来,发现是一个word文档,看来信息应该就 ...

  4. IDF实验室-简单编程-特殊的日子 writeup

    题目:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=50 题目提示要爆破,代表加密应该是不可逆的. 密文:4D ...

  5. IDF实验室-简单的ELF逆向 writeup

    题目:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=39 下载得到ElfCrackMe1文件,直接用IDA打开 ...

  6. IDF实验室-python ByteCode writeup

    题目地址:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=45 下载来发现是crackme.pyc 可以用unc ...

  7. IDF实验室-简单编程-字符统计 writeup

    题目地址:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=37 网站:http://ctf.idf.cn/gam ...

  8. IDF实验室:倒行逆施

    简单的PE文件逆向(.exe-IDA) 下载下来文件之后发现是一个exe文件,运行以后发现.

  9. IDF实验室解题学习笔记1

    1.图片里的英文 图片可以有很多种打开方式,破解该题,需将图片下载下来. 对于图片,我们可以使用图片编辑软件,进行各种调明暗,变色调等操作. 我们还可以使用2进制或者16进制的文件打开方式打开.该图使 ...

随机推荐

  1. 22.C++- 继承与组合,protected访问级别

    在C++里,通过继承和组合实现了代码复用,使得开发效率提高,并且能够通过代码看到事物的关系 组合比继承简单,所以在写代码时先考虑能否组合,再来考虑继承. 组合的特点 将其它类的对象作为当前类的成员使用 ...

  2. 构建微服务开发环境4————安装Docker及下载常用镜像

    [内容指引] 下载Docker: Mac下安装Docker: Windows下安装Docker; 下载常用docker镜像. 一.下载Docker 1.Mac适用Docker下载地址:https:// ...

  3. eclipse maven项目目录

    今天遇见一个错误,关于eclipse项目的路径问题,web-inf的路径,上图和下图出现了两种web-INF,src的web-INFf和webContent的web-INF,src里面的文件需要编译以 ...

  4. WPF自学入门(十一)WPF MVVM模式Command命令

    在WPF自学入门(十)WPF MVVM简单介绍中的示例似乎运行起来没有什么问题,也可以进行更新.但是这并不是我们使用MVVM的正确方式.正如上一篇文章中在开始说的,MVVM的目的是为了最大限度地降低了 ...

  5. 使用JavaScript实现一个俄罗斯方块

    清明假期期间,闲的无聊,就做了一个小游戏玩玩,目前游戏逻辑上暂未发现bug,只不过样子稍微丑了一些-.-项目地址:https://github.com/Jiasm/tetris在线Demo:http: ...

  6. (转载) Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)

    1 . 查看当天日期 select current_date(); 2. 查看当天时间 select current_time(); 3.查看当天时间日期 select current_timesta ...

  7. Tomcat性能优化及JVM内存工作原理

    Java性能优化原则:代码运算性能.内存回收.应用配置(影响Java程序主要原因是垃圾回收,下面会重点介绍这方面) 代码层优化:避免过多循环嵌套.调用和复杂逻辑. Tomcat调优主要内容如下: 1. ...

  8. redis入门(01)redis的下载和安装

    参考链接: 命令手册 : http://www.redis.net.cn/order/ 菜鸟教程: http://www.runoob.com/redis/redis-install.html 一.概 ...

  9. OAuth2.0学习(1-11)新浪开放平台微博认证-使用OAuth2.0调用微博的开放API

    使用OAuth2.0调用API 使用OAuth2.0调用API接口有两种方式: 1. 直接使用参数,传递参数名为 access_token URL 1 https://api.weibo.com/2/ ...

  10. SpringBoot(七):集成DataSource 与 Druid监控配置

    绑定DataSource:Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource,Druid是Java语言中最好的数据库连接池,并且能够提供 ...