前提
前回の続き
趣味を作ろう(競プロ) – 日曜エンジニアの学習記録
CTFが面白そうだから始めるという話。一番初心者向けのcpaw_ctfというものに取り組む
CpawCTF – Main page
元々セキュリティハンズオンのために環境構築(Kalilinux)は終わっていたから上記サイトにサインアップするだけで始めることが出来た
回答の記録とかしていきたい
CTF No1,6,7を解く
①No1
これは完全にチュートリアル。コピペの問題なので割愛
②No6
シーザー暗号の問題
古典的だが私レベルでは実装が容易ではない
最近競技プログラミング復活してPython触ってたのが功を奏した
与えられた文字列に以下のコードを適用した。
#シーザー暗号プログラム(今回は三文字ずらし)
def caesar_decrypt_shift3(ciphertext: str) -> str:
result = []
for ch in ciphertext:
if 'A' <= ch <= 'Z':
new_ord = (ord(ch) - ord('A') - 3) % 26 + ord('A')
result.append(chr(new_ord))
elif 'a' <= ch <= 'z':
new_ord = (ord(ch) - ord('a') - 3) % 26 + ord('a')
result.append(chr(new_ord))
else:
result.append(ch)
return ''.join(result)
if __name__ == "__main__":
encrypted = input()
print(caesar_decrypt_shift3(encrypted))
③No7
拡張子のないファイルを実行しろという問題

拡張子指定しないと本当に実行できないのかKalilinuxで確認してみる。すると以下の表示

???権限がないだけ?なんか行けそうではある
いつものchmod 777~で表示できるようになった。ネタバレになるのでフラグは載せられないが秒殺
進捗

まあ、楽しいっちゃ楽しい。普通にゲームやるよりは仕事に役立ちそうだし引き続き取り組む