CTF/LINE CTF 2021
-
[Study] LINE CTF 2021 Your noteCTF/LINE CTF 2021 2021. 3. 29. 19:22
대회 끝나고 웹 분야 한 문제 더 풀어보고 싶어서 도전해봤던 문제이다. 시나리오 구상까진 하였으나 최종적으로 플래그를 획득하지는 못했다.(서버 닫힘) 내가 느낀 이 문제의 포인트는 1. @의 활용 SERVERURL/login?redirect=[USER_INPUT] 부분에서 [USER_INPUT] 이 BASEURL(고정)+[USER_INPUT] 으로 처리가 되는데, [USER_INPUT] 에 ' @[접속유도URL]' 과 같이 입력하면 @ 뒷부분의 URL로 이동한다. ex) https://naver.com@google.com 과 같이 주소창에 입력해보면 google.com으로 이동함을 알 수 있다. 2. XS-leak 공격 기법 최종적으로 플래그를 획득하는데는 XS-leak 공격 기법이 활용된다. 이에 대한..
-
[Clear] LINE CTF 2021 babycrypto2 WriteupCTF/LINE CTF 2021 2021. 3. 22. 20:37
주어진 파일을 분석해보자 . #!/usr/bin/env python from base64 import b64decode from base64 import b64encode import socket import multiprocessing from Crypto.Cipher import AES from Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad, unpad import hashlib import sys class AESCipher: def __init__(self, key): self.key = key def encrypt(self, data): iv = get_random_bytes(AES.block_size) sel..
-
[Clear] LINE CTF 2021 babycrypto1 WriteupCTF/LINE CTF 2021 2021. 3. 22. 20:34
주어진 문제 파일을 분석해보자. #!/usr/bin/env python from base64 import b64decode from base64 import b64encode import socket import multiprocessing from Crypto.Cipher import AES from Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad, unpad import hashlib import sys class AESCipher: def __init__(self, key): self.key = key def encrypt(self, data): iv = get_random_bytes(AES.block_size) s..
-
[Clear] LINE CTF 2021 diveinternal WriteupCTF/LINE CTF 2021 2021. 3. 22. 19:23
주어진 페이지에 접근해보자. 비트코인 관련 페이지인데, 사용자 입장에서 액션을 취할 수 있는 기능은 이메일을 입력하여 구독하는 것 뿐이었다. 이를 참고하여 주어진 파일을 분석해보자. 우선 주어진 파일의 구성을 통해 해당 서버는 Public, Private로 나뉘어있음을 알 수 있다. 여기서 첫 번째 문제점은 가장 핵심적인 내용을 담고 있는 main.py 를 보면 다양한 기능이 있지만 Public에서는 /coin, /addsub 이외의 기능은 사용이 불가하다. 가장 의심스러웠던 메일을 통한 구독 기능, 즉, /addsub 의 로직을 분석해보았지만 별다른 특이점은 없었다. 그렇다면, 플래그를 출력해주는 부분을 찾아서 역추적을 해보도록 하자. rollback.py에 아래 부분에서 플래그를 출력해줌을 알 수 있..