博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
md5之守株待兔
阅读量:5144 次
发布时间:2019-06-13

本文共 1026 字,大约阅读时间需要 3 分钟。

第一个实验吧的题目,不太会做,参考了很多大佬的经验,最后发现这个题目很简单,大概这就是入门的感觉吧!

如果你多次尝试点开题目给的连接,就会发现,系统的密钥一直会变,可是我的密钥却保持一个,这就让我们联想到时间戳的概念。
时间戳:它是一个数据,一个什么数据呢?一个用来保存在某个时间已经存在的东西的数据。
我目前了解到的本题解题方法有两种:
1.手动操作,无需脚本
  使用题目中提示的md5解密工具(https://www.somd5.com/)把链接里面的系统的密钥解密获得一个时间戳,例如是s=1547718473,时间是每秒刷新一次,所以你要做的是与时间赛跑,打开网页'http://ctf5.shiyanbar.com/misc/keys/keys.php?key=s+10',然后一直刷新刷新再刷新,直到页面有弹框显示flag,反正我是没有耐心的,真XX慢

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

 

转载于:https://www.cnblogs.com/BASE64/p/10284763.html

你可能感兴趣的文章
spring IOC装配Bean(注解方式)
查看>>
[面试算法题]有序列表删除节点-leetcode学习之旅(4)
查看>>
SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
查看>>
kubernetes_book
查看>>
OpenFire 的安装和配置
查看>>
ZJOI2018游记Round1
查看>>
侧边栏广告和回到顶部
查看>>
https://blog.csdn.net/u012106306/article/details/80760744
查看>>
ios应用版本号设置规则
查看>>
海上孤独的帆
查看>>
error: more than one device and emulator 问题解决
查看>>
Android Studio 编译不通过,报错“找不到org.apache.http
查看>>
springmvc集成Freemarke配置的几点
查看>>
Django 学习
查看>>
Linux-以指定用户运行redis
查看>>
Linux-socket的close和shutdown区别及应用场景
查看>>
xpath
查看>>
parted分区
查看>>
图片标签img
查看>>
JavaScript语言中文参考手册.chm
查看>>