昨天做了一个网络安全实验室的一个解密关的第一题。 这个题不能进行登录,自己也试了试没法进行登录,但是可以进行重置密码操作,最开始自己尝试了一下用admin重置密码。结果因为不知道邮箱。第一时间先到是去抓包看看在数据包里面有没有信息,结果查看了半天没有发现。失败! 然后自己试了试用其他账号重置密码发现可以 然后仔细看了一下sukey的值发现是一个32位的有点像16进制的密码。又看了看题目(解密关)。所以可以肯定题目的关键在解sukey的密 于是自己尝试了一下md5解密 有经验的朋友可以一下子就想到了这个是一个时间戳进行md5加密的于是我去验证一下 现在知道了题目是对sukey的参数进行了时间戳的加密。 脚本: 抓取重置密码的包 这道题需要对md5熟悉和时间戳的熟悉。 如果对大家有帮助希望大家多多支持~~~
解密关的第一题。
1.题的来源
地址:https://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/index.php
2题目思考
自己尝试了一下这个链接就是重置密码的链接,username自己知道,就是sukey是什么目前还不知道。
然后自己想到:只有自己伪装一个重置密码的链接就可以进行改密码了啊!
现在username我们知道:admin。但是不知道sukey是什么?
发现是一串数字??然后在用其他账号试一试?
发现还是一串数字。而且还特别相似。
然后自己又试一试b账号,发现sukey的值还是在变化,每次发送一次都变化一次?
后面的时间特别像,而且刚刚操作的时间就是2020/5/27 10:41:13
说明服务器的时间与北京时间相差了8个小时!!!(可以不管)3.进行解密
于是先写一个脚本。计算当前的时间戳md5值,然后进行发送admin转换修改密码。
通过暴力破解。获得重置密码的链接import hashlib def md5String(str):#md5加密 myMd5 = hashlib.md5()#获得一个md5对象 myMd5.update(str.encode("utf-8"))#获得str字符串 #在进行md5哈希运算前,需要对数据进行编码,否则报错 myMd5_Digest = myMd5.hexdigest()#转换成16进制的md5,hashlib.md5.digest()返回是二进制的 return myMd5_Digest #md5摘要 if __name__ == '__main__': f = open(".\md5.txt" , "w") for i in range(1590548205,1590548205+500,1): #此处写你捕获的时间戳的值 f.write(md5String(str(i))) f.write("n") f.close() #md5.digest()与md5.hexdigest()的区别 # md5 = hashlib.md5('adsf') # md5.digest() //返回: 'x05xc1*(s48lx94x13x1axb8xaax00xd0x8a' #二进制 # md5.hexdigest() //返回: '05c12a287334386c94131ab8aa00d08a' #十六进制
设置sukey为变量,然后导入md5.txt文件进行暴力破解!
成功!!!
然后访问:https://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/reset.php?sukey=aacf5fa1ed08976d4406cf9e8c7938b0&username=admin
总结:
(下次一定!)
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算