爆破
21:直接bp抓包跑字典,需base64加密
22:可用工具跑也可用瀏覽器找還可以用網上做好的域名查找去找
23:此題需跑腳本已經附上自寫腳本
最后跑出來六個答案一個一個嘗試得到答案為3j
import hashlibm = "0123456789qwertyuiopasdfghjklzxcvbnm"
# 這串英文就是24個英文字母
for i in m:for a in m:md5 = hashlib.md5()# 構造一個hashlib對象str_1 = str(i) + str(a)# 構造payloadmd5.update(str_1.encode('utf-8'))# 指定位utf-8加密方式b = md5.hexdigest()# MD5加密if b[1:2] == b[14:15] and b[14:15] == b[17:18]:print(str_1)# 輸出答案
24:所以直接把它設置的復制一下拿到php在線運行網站跑一下就能得到
這一題很像是版本漏洞,通過看提示從php4.2.0開始就不用mt_scrand(seed)來播種,會自動播種,如果設置了mt_scrand(seed)并且seed有值,那就會生成偽隨機數(俗稱假的隨機數),生成的數字就會固定。
25:這一題和上一題不一樣,需要用工具跑(工具:php_mt_seed)
這里有和24題一樣的漏洞,使用了mt_srand()播種就會生成特定的隨機值,這里我們需要傳入同樣的隨機值讓rand的變量為零才能進入if
雖然說使用mt_rand()會生成特定的數,但是每次的使用會不一樣
例如:第一次使用mt_rand()會生成123456但第二次使用mt_rand()會生成456789,但是無論刷新多少次他們都不會變
這里還需要我們傳入cookie里的token值需要弱等于兩個隨機值相加(每一次使用,mt_rand()生成的都會不一樣,本來我還想直接bp抓包爆破來著,但是顯然不可行)
####這里使用工具怎么跑出來的不清楚原理,有些許復雜
這里跑出來的是mt_srand('種子')的種子,把他拿到php在線執行中去跑,直到第一次使用mt_rand()等于784681645(每個人都不一樣)
例如這樣:
26:直接暴力破解密碼即可
27:這一題我直接用萬能的bp做的
首先呢,他會驗證這中間部分是否日期,如果長度或者大小都不正確的話,會直接彈窗且不發包,這里我直接用bp爆破模式添加了三個放payload的位置
這里是三個payload