[安洵杯 2020]密碼學(xué)?爆破就行了
沉浸式做密碼學(xué)
題目的內(nèi)容
首先看到這個python文件可以發(fā)現(xiàn)這個調(diào)用的這兩個模塊可以直接注釋掉,這個SECRET涉及flag的打印出的密文,為了后續(xù)可以好分析代碼,就隨便用一串字符定義掉。
如果看不懂這些函數(shù)就一個一個打印出來看看是什么意思。如下面一樣
打印結(jié)果:

不難看出這個變量”broken_flag“會把自己的字符串分割然后替換到flag里面進行加密
所以我們只要整出那幾個6個*是什么字符就可以解密出flag了。
那怎么整呢?
很簡單使用爆破把哈希函數(shù)就只要0-f設(shè)置一個字典賦值給strings然后堆6次for循環(huán)最后跟個if判斷,只要最后的加密出的和這個題目給的代碼最后注釋的密文一樣,就輸出成功的那個flag
輸出的就是flag,理論成立。
代碼實現(xiàn):
效果圖:

標簽: