zoukankan      html  css  js  c++  java
  • hgamefinal re peko-chain!

    这题一直想偏了,一直关心4,结果1才是重点。。。还是太菜了。。。

    感觉自己做题时总是很慌,平时刷题还好,一到比赛本来能分析明白的地方也看不出来。。。不知有没有什么好办法。。。

    ======================================================================================================

     这题是一个简化的区块链,提示了是哈希链表,慌得我连提示没注意到

    本题的关键在于1,

     在sub_400A76里

     将输入的名字md5后做了一个这样的结构,之后在sub_4008F6里

     将这个结构再次md5,将md5&0xfffff作为索引,在创世块中这个值为1656A

    再看2

     在2和4里都用了这个函数,可以由此拿到shell,但是由于4里有cat flag 我一直在看4,结果其实4里是个假flag和提示

    hgame{fakefakefakefake}
    I'm so sorry that lied you..But to be honest, you are a bit close to the final answer
    You may also realized that the peko-chain has So many bugs there
    To think about it: It's hash function always safe? Or what is the defiction of safe hash function
    Good Luck~

     于是思路就是在将输入名字进行计算后,在用2拿shell

    先计算

    # -*- coding: utf-8 -*-
    import base64,hashlib
    from itertools import *
    list = 'abcdefghijklmnopqrstuvwxyz'
    for i in product(list, repeat=5):
        name = "".join(i)
        name_md5 = hashlib.md5(name).hexdigest()
        j=0
        name_key=b''
        for i in range(16):
            name_key+=chr(eval('0x'+name_md5[j:j+2]))
            j+=2;
        key = 'x75x6Fx6Bx6Ex6Ex69x67x69x6Bx75x73x64x6Fx6Bx65x70'
        key+=name_key
        key+= 'x6Ax65x01x00x00x00x00x00x00x00x00x00x00x00x00x00'
        key+= 'x32x00x00x00x00x00x00x00'
        key = hashlib.md5(key).hexdigest()
        if(key[0:4]=='6a65' and key[5]=='1'):
            print 'realname:'+name
            break
    6a65f10a5f7b7d53a73a0c5094a6e5be
    realname:enecr

     注:虽然放的都是静态调试的图,但其实是做完之后懒得截图了,主要还是靠动态调试出来

    最后感谢出题人Ch1p姐姐赛后的指导

  • 相关阅读:
    UIVIew详解
    UIView对象转成UIImage对象
    OC 获取IOS屏幕尺寸大小
    presentModalViewController和dismissModalViewControllerAnimated的替代方法
    设计模式之观察者模式(关于OC中的KVO(Observer)KVCNSNotification)
    Key-Value Observing机制
    iOS对象序列化与反序列化( NScoder 和 NScoding )
    IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic、@synthesize、@property、@dynamic
    UIImage 缩放
    CentOS6.8下二进制安装mysql5.7
  • 原文地址:https://www.cnblogs.com/harmonica11/p/12433338.html
Copyright © 2011-2022 走看看