首页
社区
课程
招聘
[原创]k r y p t o n 7 笔记
2014-7-22 21:21 9449

[原创]k r y p t o n 7 笔记

2014-7-22 21:21
9449
题目链接:
   

    首先利用前一关获取的口令登陆上去.
ssh krypton6@krypton.labs.overthewire.org
登录口令: RANDOM
找到要解密的文件并显示其内容:
krypton6@melinda:~$ cat /games/krypton/krypton6/krypton7
PNUKLYLWRQKGKBE
密文字符串是:PNUKLYLWRQKGKBE


   下载encrypt6文件到本地临时目录
root@kali:~# scp krypton6@krypton.labs.overthewire.org:/games/krypton/krypton6/encrypt6  /tmp
    你可以用64位的ida看看算法,可以大致看出来,但是里面的 ‘random’ numbers你必须动态调试才能看出来.这不是一篇科普文章,笔记而已.,google不到的东西,度娘能找到,那以后老外也不能小瞧国人了.
    直接给出解题代码,很丑陋请谅解:
    
lfsr=[8,4,2,9,12,6,11,5,10,13,14,15,7,3,1]
pp='aaaaaaaaaaaaaaa'
cc='EICTDGYIYZKTHNS'

def getKey(pp,cc):
    t=list(pp)
    pls=[]
    for i in xrange(len(t)):
        pls.append(ord(t[i])-0x41)
    ss=''
    for i in xrange(len(cc)):
        key=32
        while key <127:
            tmp=key+lfsr[i%15]+pls[i]-0x41
            while tmp>0x19:
                tmp-=0x1a
            if tmp==(ord(cc[i])-0x41):
                ss+=chr(key)
                break
            key=key+1
    return ss[0:10]

def enc(key,pp):
    ss=''
    pp=pp.upper()
    for i in xrange(len(pp)):
        tmp=ord(key[i%len(key)])+lfsr[i%15]+ord(pp[i])-0x41-0x41
        while tmp>0x19:
            tmp-=0x1a
        ss+=chr(tmp+0x41)
    return ss.upper()
 
def dec(key,cc):
    ss=''
    cc=cc.upper()
    for i in xrange(len(cc)):
        tmp=ord(cc[i])-0x41 
        p=''    
        while tmp<=0x19:
            tmp+=0x1a
            t=(tmp-ord(key[i%len(key)])-lfsr[i%15]+0x41)+0x41
            if t>=ord('z'):
               p=chr(t-0x1a)
            else: 
               p=chr(t)          
        ss+=p
    return ss.upper()
       
key=getKey(pp,cc)
print dec(key,'PNUKLYLWRQKGKBE')
 
   

   

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

上传的附件:
收藏
点赞1
打赏
分享
最新回复 (9)
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Asfy 2014-7-22 21:37
2
0
顶一下     呵呵
雪    币: 7614
活跃值: (1970)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
friendanx 2014-7-22 21:41
3
0
这不是我的头像么
雪    币: 2009
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
天易love 18 2014-7-22 21:45
4
0
只是感觉你的脸没我大.
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
爱吃豆包 2014-7-23 01:33
5
0
love0day 大牛, 最后一关我没详细分析算法,直接拿大小写字母+数字进行测试,观察Hex值的变化,分析下得出密码的
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhingma 2014-7-23 08:07
6
0
大牛就是大牛,都玩老外的东西,还玩linux,哈哈
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
anycing 2014-7-23 08:17
7
0
脸小了点
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
white、、 2014-7-23 08:58
8
0
完全看懂不懂。
雪    币: 10
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Carlton 2014-7-23 11:36
9
0
3楼没有楼主的脸大 哈哈
雪    币: 106
活跃值: (549)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xtayaitak 2014-7-25 11:28
10
0
太过于高深啊
游客
登录 | 注册 方可回帖
返回