第一个实验吧的题目,不太会做,参考了很多大佬的经验,最后发现这个题目很简单,大概这就是入门的感觉吧!
如果你多次尝试点开题目给的连接,就会发现,系统的密钥一直会变,可是我的密钥却保持一个,这就让我们联想到时间戳的概念。
时间戳:它是一个数据,一个什么数据呢?一个用来保存在某个时间已经存在的东西的数据。
我目前了解到的本题解题方法有两种:

1.手动操作,无需脚本
  使用题目中提示的md5解密工具(https://www.somd5.com/)把链接里面的系统的密钥解密获得一个时间戳,例如是s=1547718473,时间是每秒刷新一次,所以你要做的是与时间赛跑,打开网页'http://ctf5.shiyanbar.com/misc/keys/keys.php?key=s+10',然后一直刷新刷新再刷新,直到页面有弹框显示flag,反正我是没有耐心的,真XX慢

 
2.自己写一个脚本(我是小白,不会,下面是抄别人的代码/汗颜)
 import time
import hashlib
import requests #获取时间戳
def getTime():
return (str(int(time.time()))+3)#这里获取的是当前时间戳的未来3s后的时间 #md5加密解密
def md5(src):
md5 = hash.md5()
md5.update(src)#更新,刷新
return (md5.hexdigest()) #获取flag的函数
def getFlag(timestamp):
url = 'http://ctf5.shiyanbar.com/misc/keys/keys.php?key='+timestamp
r = requests.get(url)
print(r.content) for i in range(50):#机器帮我刷新获取页面信息
getFlag(getTime9))
time.sleep(1) #运行该脚本,结果显示窗口总有一条会显示页面有一个alert弹窗,哈哈,这里面就是flag啦

md5之守株待兔的更多相关文章

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

    解题链接 http://ctf5.shiyanbar.com/misc/keys/keys.php 解题思路 首先我们多打开几次解题链接,发现系统密钥大约在一秒钟左右变一次,所以联想到时间戳. 解题过 ...

  2. CTF MD5之守株待兔,你需要找到和系统锁匹配的钥匙

    这是提示 从系统锁下手,通过get方式key字段提交答案,直到您的钥匙与系统锁相等则成功. 点开链接可以发现有两串字符,而且系统的秘钥是一直在变化的 题目中已经给了MD5加密,那么用MD5解密发现您的 ...

  3. 实验吧-杂项-MD5之守株待兔(时间戳&python时间戳函数time.time())

    其实也有点蒙圈,因为从没做过和时间戳有关的题. 打开网站,将系统密钥解密得到一串值,而自己的密钥解密是空的,既然说是要和系统匹配,就把解密得到的值以get方式送出去. 但是发现还是在自己的密钥也发生了 ...

  4. 关于CryptoJS中md5加密以及aes加密的随笔

    最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...

  5. Android数据加密之MD5加密

    前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法. 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5 ...

  6. [C#] 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)

    using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...

  7. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  8. android_m2repository_rxx.zip下载地址以及MD5

    地址 MD5 https://dl-ssl.google.com/android/repository/android_m2repository_r08.zip 8C8EC4C731B7F55E646 ...

  9. 一种简单的md5加盐加密的方法(防止彩虹表撞库)

    md5加密(或者说摘要算法)大家都很熟悉了 就不解释了 现在很多数据库设计都喜欢用单向加密的方式保存密码,验证时对提交的密码再次加密之后做密文对比 /// <summary> 使用MD5加 ...

随机推荐

  1. (9)Microsoft office Word 2013版本操作入门_文本框_word排版

    1.插入文本框 :[插入]---[文本框]可以自己画,也可以选择已有的模板 2.文本框设置 :点中文本框选择[格式]---[对齐文本]可以让文字上下居中,[形状填充]填充不同的颜色.[形状轮廓]可以改 ...

  2. SpringBoot零XML配置的Spring Boot Application

    Spring Boot 提供了一种统一的方式来管理应用的配置,允许开发人员使用属性properties文件.YAML 文件.环境变量和命令行参数来定义优先级不同的配置值.零XML配置的Spring B ...

  3. 反射demo(拷贝一个对象)

    经过了上一次对反射的初步认知,最近又接触到了后,做了一个小demo,感觉这次带了一点理解去做的,比第一次接触反射好了许多. 上次学习的链接,有一些反射用的基础语句.https://www.cnblog ...

  4. 浅谈pc和移动端的响应式

    身为一个前端攻城狮,是不是经常遇到各种各样的响应式问题?下面我们来说一下: 1.响应式跟自适应有什么区别? 有些人可能还不知道响应式跟自适应的区别,甚至认为他们是同一个东西,其实不是的. 自适应是最早 ...

  5. SD Consultant Year End Activities

    SD Consultant Year End Activities What are the year ending activities to be done for SAP SD?   S.No ...

  6. Python textwrap模块(文本包装和填充)

    textwrap提供函数wrap().fill().indent().dedent()和以及TextWrapper类. 通常包装或者填充一两个字符串使用wrap()和fill().其他情况使用Text ...

  7. (python)数据结构------列表

    一.数字的处理函数 (一)int() 取整数部分,与正负号无关,举例如下: print(int(-3.6), int(-2.5), int(-1.4)) print(int(3.6), int(2.5 ...

  8. Linux中DNS的设置

    1.查看本机的域名 hostname 2.修改DNS 临时修改: hostname desktop0.example.com 永久修改: hostnamectl set-hostname deskto ...

  9. hadoop java上传文件

    import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.InputStream; impo ...

  10. [20181124]关于降序索引问题2.txt

    [20181124]关于降序索引问题2.txt --//链接:blog.itpub.net/267265/viewspace-2221425/,探讨降序索引中索引的键值.--//实际上使用函数sys_ ...