码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-03-23 22:16:19      阅读:372      评论:0      收藏:0      [点我收藏+]

标签:print   结果   脚本   write   .text   uri   解压   time   联想   

解题链接

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。

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

标签:print   结果   脚本   write   .text   uri   解压   time   联想   

原文地址:https://www.cnblogs.com/luoleqi/p/10585638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!