CTF 大小写字母转换 try lower and upper
生活随笔
收集整理的這篇文章主要介紹了
CTF 大小写字母转换 try lower and upper
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天做CTF練習題的時候碰到這樣一道題,挺有趣的,記一下。
題目只有一個加密壓縮包,里面就有一個flag.txt的文件,顯然就是需要設法破解出這個壓縮包的密碼。
另外題目有一句話寫著trylowerandupper。直譯就是試試小寫和大寫。直接用這個作為密碼,發現無效,全部轉成大寫,發現也無效。
想了一下,可能正確的密碼應該就是把這句話的部分字母改成大寫,部分字母改成小寫。那么我們的思路就是去生成這樣的一個字典,然后用跑字典的軟件ARCHPR去跑一下。
trylowerandupper這句話共有16個字母,每個字母都有大小寫兩種可能,那么就有2的16次方種可能性,也就是65536種,應該算不算很多。我們用js生成一下字典,并儲存到textarea中。
<!DOCTYPE html> <html> <head><title></title><textarea id="textarea"></textarea> </head> <body></body> <script type="text/javascript">var cipher = 'trylowerandupper' var dict = []function crossdict(l,u){var tmp1 = [].concat(dict);if(tmp1.length){for(var i,i=0;i<tmp1.length;i++){tmp1[i] += l;}}else{tmp1 = [l];}var tmp2 =[].concat(dict);if(tmp2.length){for(var i,i=0;i<tmp2.length;i++){tmp2[i] += u;}}else{tmp2 = [u];}dict = tmp1.concat(tmp2) }function makedict(){for(var i,i=0;i<cipher.length;i++){crossdict(cipher[i].toLowerCase(),cipher[i].toUpperCase());}var value = ''for(var i=0;i<dict.length;i++){value += dict[i] + '\n';}document.getElementById("textarea").value = value; }makedict();</script> </html>隨便找個瀏覽器運行一下,然后把textarea中的內容復制到新建的txt中,保存成字典。
接著就是跑字典了,意料之外的迅速呀,一下子就得到了壓縮包的密碼。
打開壓縮包得到flag:
總結
以上是生活随笔為你收集整理的CTF 大小写字母转换 try lower and upper的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pyhon制作word、excel、pp
- 下一篇: 解决python时间戳最大为3001年1