분류 전체보기
-
CTRIME 문제 우리의 평문에는 중복되는 부분이 많을 수 있으니, 먼저 압축해보는 것은 어떨까요? https://aes.cryptohack.org/ctrime/ 풀이 더보기 from Crypto.Cipher import AES from Crypto.Util import Counter import zlib KEY = ? FLAG = ? @chal.route('/ctrime/encrypt//') def encrypt(plaintext): plaintext = bytes.fromhex(plaintext) iv = int.from_bytes(os.urandom(16), 'big') cipher = AES.new(KEY, AES.MODE_CTR, counter=Counter.new(128, initial_val..
[Cryptohack] SYMMETRIC CIPHERS (CTRIME)CTRIME 문제 우리의 평문에는 중복되는 부분이 많을 수 있으니, 먼저 압축해보는 것은 어떨까요? https://aes.cryptohack.org/ctrime/ 풀이 더보기 from Crypto.Cipher import AES from Crypto.Util import Counter import zlib KEY = ? FLAG = ? @chal.route('/ctrime/encrypt//') def encrypt(plaintext): plaintext = bytes.fromhex(plaintext) iv = int.from_bytes(os.urandom(16), 'big') cipher = AES.new(KEY, AES.MODE_CTR, counter=Counter.new(128, initial_val..
2023.05.12 -
2.8 정보시스템 도입 및 개발 보안 2.8.1 보안 요구사항 정의 정보시스템의 도입⦁개발⦁변경 시 정보보호 및 개인정보보호 관련 법적 요구사항, 최신 보안 취약점, 안전한 코딩방법 등 보안 요구사항을 정의하고 적용하여야 한다. 정보시스템을 신규로 도입⦁개발 또는 변경하는 경우 정보보호 및 개인정보보호 측면의 타당성 검토 및 인수 절차를 수립⦁이행해야 한다. 사전에 수립돼 있는 정보보호 및 개인정보보호 요구사항은 제안요청서(RFP)에 반영한다. 2.8.2 보안 요구사항 검토 및 시험 사전 정의된 보안 요구사항에 따라 정보시스템이 도입 또는 구현되었는지를 검토하기 위하여 법적 요구사항 준수, 최신 보안취약점 점검, 안전한 코딩 구현, 개인정보 영향평가 등의 검토 기준과 절차를 수립⦁이행하고, 발견된 문제점..
isms-p 항목정리 22.8 정보시스템 도입 및 개발 보안 2.8.1 보안 요구사항 정의 정보시스템의 도입⦁개발⦁변경 시 정보보호 및 개인정보보호 관련 법적 요구사항, 최신 보안 취약점, 안전한 코딩방법 등 보안 요구사항을 정의하고 적용하여야 한다. 정보시스템을 신규로 도입⦁개발 또는 변경하는 경우 정보보호 및 개인정보보호 측면의 타당성 검토 및 인수 절차를 수립⦁이행해야 한다. 사전에 수립돼 있는 정보보호 및 개인정보보호 요구사항은 제안요청서(RFP)에 반영한다. 2.8.2 보안 요구사항 검토 및 시험 사전 정의된 보안 요구사항에 따라 정보시스템이 도입 또는 구현되었는지를 검토하기 위하여 법적 요구사항 준수, 최신 보안취약점 점검, 안전한 코딩 구현, 개인정보 영향평가 등의 검토 기준과 절차를 수립⦁이행하고, 발견된 문제점..
2023.05.11 -
Bean Counter 문제 나는 PyCrypto의 카운터 모드를 내가 원하는 것을 하기 위해 고심했고, 그래서 나는 ECB 모드에서 직접 CTR모드로 바꾸었다. 내 카운터는 암호 분석가들을 따돌리기 위해 위아래로 움직일 수 있다! 그들이 내 사진을 읽을 가능성은 없다. 풀이 더보기 from Crypto.Cipher import AES KEY = ? class StepUpCounter(object): def __init__(self, value=os.urandom(16), step_up=False): self.value = value.hex() self.step = 1 self.stup = step_up def increment(self): if self.stup: self.newIV = hex(int(..
[CryptoHack] SYMMETRIC CIPHERS(Bean Counter)Bean Counter 문제 나는 PyCrypto의 카운터 모드를 내가 원하는 것을 하기 위해 고심했고, 그래서 나는 ECB 모드에서 직접 CTR모드로 바꾸었다. 내 카운터는 암호 분석가들을 따돌리기 위해 위아래로 움직일 수 있다! 그들이 내 사진을 읽을 가능성은 없다. 풀이 더보기 from Crypto.Cipher import AES KEY = ? class StepUpCounter(object): def __init__(self, value=os.urandom(16), step_up=False): self.value = value.hex() self.step = 1 self.stup = step_up def increment(self): if self.stup: self.newIV = hex(int(..
2023.05.11 -
XOR Starter 문제 및 설명 XOR은 비트가 같으면 0을 반환하고, 그렇지 않으면 1을 반환하는 비트 연산자입니다. 교과서에서 XOR 연산자는 ⊕로 표시되지만, 대부분의 문제와 프로그래밍 언어에서 '^'이 대신 사용되는 것을 볼 수 있습니다. 더 긴 이진수의 경우, 0110 ^1010 = 1100 비트 단위로 XOR를 수행합니다. 우리는 먼저 정수를 십진법에서 이진법으로 변환하여 정수를 XOR할 수 있다. 먼저 각 문자를 유니코드 문자를 나타내는 정수로 변환하여 문자열을 XOR할 수 있습니다. 문자열 'label'과 정수 13과 XOR 하십시오. 이러한 정수를 다시 문자열로 변환하고 플래그를 crypto{new_string}(으)로 제출하십시오. 풀이 더보기 문제에서 'label'이라는 문자열을 ..
[CryptoHack] GENERAL(XOR Starter, XOR Properties, Favourite byte, 'You either know, XOR you don't', Lemur XOR)XOR Starter 문제 및 설명 XOR은 비트가 같으면 0을 반환하고, 그렇지 않으면 1을 반환하는 비트 연산자입니다. 교과서에서 XOR 연산자는 ⊕로 표시되지만, 대부분의 문제와 프로그래밍 언어에서 '^'이 대신 사용되는 것을 볼 수 있습니다. 더 긴 이진수의 경우, 0110 ^1010 = 1100 비트 단위로 XOR를 수행합니다. 우리는 먼저 정수를 십진법에서 이진법으로 변환하여 정수를 XOR할 수 있다. 먼저 각 문자를 유니코드 문자를 나타내는 정수로 변환하여 문자열을 XOR할 수 있습니다. 문자열 'label'과 정수 13과 XOR 하십시오. 이러한 정수를 다시 문자열로 변환하고 플래그를 crypto{new_string}(으)로 제출하십시오. 풀이 더보기 문제에서 'label'이라는 문자열을 ..
2023.05.10 -
PASSWORDS AS KEYS 문제 대칭 키 알고리즘에서 키는 암호나 다른 예측 가능한 데이터 대신에, 랜덤 바이트여야 합니다. 랜덤 바이트는 암호화 보안 의사 난수 생성기(CSPRNG)를 사용하여 생성되어야 합니다. 키가 어떤 식으로든 예측 가능하면 암호의 보안 수준이 감소하고 암호문에 접근한 공격자가 암호를 해독할 수 있다. 키가 임의의 바이트로 구성된 것처럼 보인다고 해서 키가 반드시 그런 것은 아니다. 이 경우 키는 해싱 기능을 사용하는 간단한 암호에서 파생되어 암호문을 크래킹할 수 있습니다. 이 문제를 해결하기 위해 HTTP 요청을 엔드포인트에 스크립팅하거나, 암호문을 오프라인으로 공격할 수 있습니다. 행운을 빕니다. https://aes.cryptohack.org/passwords_as_ke..
[CryptoHack] SYMMETRIC CIPHERS(PASSWORDS AS KEYS)PASSWORDS AS KEYS 문제 대칭 키 알고리즘에서 키는 암호나 다른 예측 가능한 데이터 대신에, 랜덤 바이트여야 합니다. 랜덤 바이트는 암호화 보안 의사 난수 생성기(CSPRNG)를 사용하여 생성되어야 합니다. 키가 어떤 식으로든 예측 가능하면 암호의 보안 수준이 감소하고 암호문에 접근한 공격자가 암호를 해독할 수 있다. 키가 임의의 바이트로 구성된 것처럼 보인다고 해서 키가 반드시 그런 것은 아니다. 이 경우 키는 해싱 기능을 사용하는 간단한 암호에서 파생되어 암호문을 크래킹할 수 있습니다. 이 문제를 해결하기 위해 HTTP 요청을 엔드포인트에 스크립팅하거나, 암호문을 오프라인으로 공격할 수 있습니다. 행운을 빕니다. https://aes.cryptohack.org/passwords_as_ke..
2023.05.09 -
Flipping Cookie 문제 내 웹사이트에서 쿠키를 구할 수는 있지만, 플래그값을 읽는 데는 도움이 되지 않을 거라고...생각합니다. https://aes.cryptohack.org/flipping_cookie/ 풀이 더보기 from Crypto.Cipher import AES import os from Crypto.Util.Padding import pad, unpad from datetime import datetime, timedelta KEY = ? FLAG = ? @chal.route('/flipping_cookie/check_admin///') def check_admin(cookie, iv): cookie = bytes.fromhex(cookie) iv = bytes.fromhex(iv..
[CryptoHack] SYMMETRIC CIPHERS(Flipping Cookie)Flipping Cookie 문제 내 웹사이트에서 쿠키를 구할 수는 있지만, 플래그값을 읽는 데는 도움이 되지 않을 거라고...생각합니다. https://aes.cryptohack.org/flipping_cookie/ 풀이 더보기 from Crypto.Cipher import AES import os from Crypto.Util.Padding import pad, unpad from datetime import datetime, timedelta KEY = ? FLAG = ? @chal.route('/flipping_cookie/check_admin///') def check_admin(cookie, iv): cookie = bytes.fromhex(cookie) iv = bytes.fromhex(iv..
2023.05.08