md5之守株待兔
第一个实验吧的题目,不太会做,参考了很多大佬的经验,最后发现这个题目很简单,大概这就是入门的感觉吧!
如果你多次尝试点开题目给的连接,就会发现,系统的密钥一直会变,可是我的密钥却保持一个,这就让我们联想到时间戳的概念。
时间戳:它是一个数据,一个什么数据呢?一个用来保存在某个时间已经存在的东西的数据。
我目前了解到的本题解题方法有两种:
1.手动操作,无需脚本
使用题目中提示的md5解密工具(https://www.somd5.com/)把链接里面的系统的密钥解密获得一个时间戳,例如是s=1547718473,时间是每秒刷新一次,所以你要做的是与时间赛跑,打开网页'http://ctf5.shiyanbar.com/misc/keys/keys.php?key=s+10',然后一直刷新刷新再刷新,直到页面有弹框显示flag,反正我是没有耐心的,真XX慢
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之守株待兔的更多相关文章
- 实验吧MD5之守株待兔解题思路
解题链接 http://ctf5.shiyanbar.com/misc/keys/keys.php 解题思路 首先我们多打开几次解题链接,发现系统密钥大约在一秒钟左右变一次,所以联想到时间戳. 解题过 ...
- CTF MD5之守株待兔,你需要找到和系统锁匹配的钥匙
这是提示 从系统锁下手,通过get方式key字段提交答案,直到您的钥匙与系统锁相等则成功. 点开链接可以发现有两串字符,而且系统的秘钥是一直在变化的 题目中已经给了MD5加密,那么用MD5解密发现您的 ...
- 实验吧-杂项-MD5之守株待兔(时间戳&python时间戳函数time.time())
其实也有点蒙圈,因为从没做过和时间戳有关的题. 打开网站,将系统密钥解密得到一串值,而自己的密钥解密是空的,既然说是要和系统匹配,就把解密得到的值以get方式送出去. 但是发现还是在自己的密钥也发生了 ...
- 关于CryptoJS中md5加密以及aes加密的随笔
最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...
- Android数据加密之MD5加密
前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法. 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5 ...
- [C#] 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)
using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...
- java单向加密算法小结(2)--MD5哈希算法
上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...
- android_m2repository_rxx.zip下载地址以及MD5
地址 MD5 https://dl-ssl.google.com/android/repository/android_m2repository_r08.zip 8C8EC4C731B7F55E646 ...
- 一种简单的md5加盐加密的方法(防止彩虹表撞库)
md5加密(或者说摘要算法)大家都很熟悉了 就不解释了 现在很多数据库设计都喜欢用单向加密的方式保存密码,验证时对提交的密码再次加密之后做密文对比 /// <summary> 使用MD5加 ...
随机推荐
- 10. Condition 控制线程通信
1. 是什么 ? 2. 示例 package com.gf.demo09; import java.util.concurrent.locks.Condition; import java.util. ...
- List集合遍历整理
遍历List集合的三种方式 0. 首先准备测试数据 List<String> list = new ArrayList<String>(); list.add("Ja ...
- crontab架构和格式
crontab架构图 分时日月周*****my command(可以是一个linux命令,也可以是一个脚本文件,可以是shell格式也可以是python格式,也可是java格式.....) 按照格式编 ...
- vim编辑器头部自动插入注释和shell的高亮显示
1.基本语法 语法高亮 :syntax on/off 显示行号 set number/nonumber 自动缩进 set autoindent set cindent 2.自动加入文件头 在etc/v ...
- angularJs学习笔记-入门
1.angularJs简介 angularJs是一个MV*的javascript框架(Model-View-Whatever,不管是MVVM还是MVC,统归MDV(model drive view)) ...
- 获取邮箱的DNS和MX 工具类
1.导入Maven DNS 包: <dependency> <groupId>dnsjava</groupId> <artifactId>dnsja ...
- CSS概念【记录】
1.CSS语法 2.@规则 3.注释 4.层叠 5.优先级 6.继承 7.值 8.块格式化上下文 9.盒模型 10.层叠上下文 11.可替换元素 12.外边距合并 13.包含块 14.视觉格式化模型 ...
- 基于Python实现的死链接自动化检测工具
基于Python实现的死链接自动化检测工具 by:授客 QQ:1033553122 测试环境: win7 python 3.3.2 chardet 2.3.0 脚本作用: 检测系统中访问异常(请求 ...
- Fiddler做代理服务器时添加X-Forwarder-For转发真实客户端ip
修改CustomRules.js 菜单: Rules->Customize Rules (ctrl+R) 在 static function OnBeforeRequest(oSession: ...
- 一个解决过程:Servlet [某路径xxx] in web application [/项目xxx] threw load() exception和java.lang.ClassNotFoundException XXX
Servlet [某路径xxx] in web application [/项目xxx] threw load() exception和java.lang.ClassNotFoundException ...