• 实验吧MD5之守株待兔解题思路


    解题链接

    http://ctf5.shiyanbar.com/misc/keys/keys.php

    解题思路

    首先我们多打开几次解题链接,发现系统密钥大约在一秒钟左右变一次,所以联想到时间戳。

    解题过程

    编写python脚本,然后执行得出答案
    python脚本代码

    import time
      
    import requests
    
    def getTime():
    
        return str(int(time.time()))#获取当前的时间戳
    
    def getFlag(time1):
       url='http://ctf5.shiyanbar.com/misc/keys/keys.php?key='+time1
       r=requests.get(url)
       reponse = requests.get(url)
       print(r.text)打印返回的网站数据
       print(reponse)请求结果是否成功
    
    for i in range(10):
    
        getFlag(getTime())
    

    执行脚本后我们可以发现有script中就是flag

    对于网上的write up

    我看了网上许多write up都是错误的
    首先是脚本中不需要对MD5解压,所以也就没有必要引进hashlib库,更没有必要引进thread库。
    还有就是很多write up里面写的是return str(int(time.time())+3)#获取三秒后的时间戳,这样写的话密钥永远对不上怎么能跑出flag,如果非要这样写那必须要在getFlag的第一行加入time.sleep(3)才能得到flag。

  • 相关阅读:
    set
    网络流学习(最小费用最大流)
    网络流学习(最大流)
    模拟退火学习
    NOI Day1T1归程(Kruskal重构树+Dijkstra)
    线性基学习
    高斯消元学习
    manacher算法学习(求最长回文子串长度)
    AC自动机模板2
    AC自动机入门
  • 原文地址:https://www.cnblogs.com/luoleqi/p/10585638.html
Copyright © 2020-2023  润新知