md5之守株待兔

2022-06-06 07:27:10 字數 1156 閱讀 4188

第乙個實驗吧的題目,不太會做,參考了很多大佬的經驗,最後發現這個題目很簡單,大概這就是入門的感覺吧!

如果你多次嘗試點開題目給的連線,就會發現,系統的金鑰一直會變,可是我的金鑰卻保持乙個,這就讓我們聯想到時間戳的概念。

時間戳:它是乙個資料,乙個什麼資料呢?乙個用來儲存在某個時間已經存在的東西的資料。

我目前了解到的本題解題方法有兩種:

1.手動操作,無需指令碼

使用題目中提示的md5解密工具(把鏈結裡面的系統的金鑰解密獲得乙個時間戳,例如是s=1547718473,時間是每秒重新整理一次,所以你要做的是與時間賽跑,開啟網頁'',然後一直重新整理重新整理再重新整理,直到頁面有彈框顯示flag,反正我是沒有耐心的,真xx慢

2.自己寫乙個指令碼(我是小白,不會,下面是抄別人的**/汗顏)

1

import

time

2import

hashlib

3import

requests45

#獲取時間戳

6def

gettime():

7return (str(int(time.time()))+3)#

這裡獲取的是當前時間戳的未來3s後的時間89

#md5加密解密

10def

md5(src):

11 md5 =hash.md5()

12 md5.update(src)#

更新,重新整理

13return

(md5.hexdigest())

1415

#獲取flag的函式

16def

getflag(timestamp):

17 url = '

'+timestamp

18 r =requests.get(url)

19print

(r.content)

2021

22for i in range(50):#

機器幫我重新整理獲取頁面資訊

23getflag(gettime9))

24 time.sleep(1)

2526 #執行該指令碼,結果顯示視窗總有一條會顯示頁面有乙個alert彈窗,哈哈,這裡面就是flag啦

雜湊函式之MD5

md5演算法是輸入長度小於2 64位元的訊息,輸出為128位元的訊息摘要。輸入訊息以512位元的分組為單位處理。具體過程如下 直接使用python中的hashlib模組,並將加密結果以16進製制形式顯示 import hashlib 生成md5數字指紋。s b abc 定義位元組型字串 md has...

MD5的用法之加密

public static final string encodehex byte bytes return buf.tostring try catch nosuchalgorithmexception e 簡單應用 public string md5 string tochapter catch...

自學360之MD5加密

1.獲取乙個messgedigest messagedigest digest messagedigest.getinstance md5 選擇md5的加密方式digest.digest password 對所選擇的password進行加密 返回的型別是byte型別 byte bytes diges...