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

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

2014-7-22 21:21
10130

题目链接:
   

    首先利用前一关获取的口令登陆上去.
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')
 
   

   


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

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