목록CS/보안 (8)
צעדי חסד
Diffusion through Permutation We've provided code to perform MixColumns and the forward ShiftRows operation. After implementing inv_shift_rows, take the state, run inv_mix_columns on it, then inv_shift_rows, convert to bytes and you will have your flag. 문제에서 shift_rows를 mix_columns로 암호화를 진행했기 때문에 복호화는 암호화 과정의 역과정으로 진행하면 됨. 문제 코드 def shift_rows(s): s[0][1], s[1][1], s[2][1], s[3][1] = s[1][1], s[..

다음 주어진 숫자들을 배열 arr 에 대입한 후, 소스 코드 for i in arr:, print(chr(i)) 로 반환하여 해당 문자열을 출력해 냅니다. 주어진 저 긴 숫자를 바이트로 디코딩하여, 16진수로 바꾼 다음, 바꾼 16진수를 for i in (배열 이름):, print(ord(i)) 로 바꾸어 문자열을 출력해낸다. 파이썬 lib중 Base64라는 것이 있습니다. 이 Base64를 통해 인코딩, 디코딩을 할 수 있는데, 주어진 문자열은 16진수의 형태인데, 16진수를 바이트로 바꾸는 과정을 디코딩이라고 한다. 바이트로 바꾼 다음, Base64로 인코딩 한다. 인코딩을 하면 문자열이 구분이 될 수 있는데, 이를 인코딩하면 crypto의 flag가 나옵니다. 문제 예시를 보면 아스키 바이트 5개가..
xor 스타터 문자열 "label"에서 각각의 문자열 l,a,b,e,l 을 for 문을 이용해서 1과0으로 이뤄진 문자열 각각 바꿔줍니다. 마찬가지로 13도 2진수로 바꾼다음 앞서 바꾼 각각의 문자열의 2진수와 13의 2진수를 xor해 줍니다. 2.xor 속성 문제에서 힌트를 주었다. f^k1^k2^k3 값에 k2^k3 을 xor연산하면, f^k1^(k2^k2)^(k3^k3)이고 이는, f^k1입니다. 즉, flag = xor(bytes.fromhex(f123), bytes.fromhex(k1)) flag = xor(bytes.fromhex(k23), flag) print(flag)입니다. 3.favourite byte 먼저 주어진 hex를 디코딩 시켜줘야 합니다. 그 다음 for 반복문을 이용해서 'c..

1.Great Common Divisor 2. Extended GCD 3.Modular Arithmetic 1 4. Moular Arithmetic 2 5. Modular Inverting
암호학 챌린지 문제 - introduction Finding Flags 1번 문제에서, flag를 얻기 위해선 crypto{flag}값을 얻으라고 합니다. 여기서는 introduction 문제이기에 crypto{y0ur_first_fl4g} 라고 flag가 나온다. 이것을 복사해서 플래그 입력 창에 붙이면 한 단계 완료다. Great Snakes 문제에서 great_snakes.py라는 파이썬 파일을 주었다. 파이썬 스크립트를 실행시켜 나온 결과가 flag이다. 이 코드를 실행시키면 플래그를 획득할 수 있다. Network Attacks 이 문제는 JSON형식에 대한 것을 나타내 주고 있다. JSON은 key 값과 value값으로 이루어져 있는데, 형태는 {"key":"value"}형식이다. 이 문제에서..

XSS(Cross-Site Scripting) 스크립트 사이트 간 공격 웹에서 일어나는 취약점으로 관리자가 아닌 권한이 없는 사용자가 웹 사이트에 스크립트를 삽입하는 공격 기법 웹 사이트를 구성하는 코드에 해커가 악의적으로 악성 스크립트를 작성하여 hide처리를 시킨 후 웹 사이트의 코드중에서 취약한 부분이 있는 곳에 악성 스크립트를 삽입한다. 그렇게 되면 사용자가 웹을 열었을 때, 악성 스크립트가 작동하게 되면서 다른 사이트로 이동시키거나 사용자의 쿠키를 탈취하여 Session Hijacking을 수행한다. XSS의 공격 종류 및 방법 1.Persistent(or Strored) XSS 말 그대로 지속적으로 피해를 입히는 공격 웹 코드에 악성 스크립트를 삽입하면 이 악성 코드는 데이터 베이스에 저장이 ..

※(이 포스팅에 기재된 모든 첨부 이미지는 직접 만들어서 발행합니다.) 이번 포스팅에선 네트워크 해킹의 종류와 각각의 개념들에 대해 간략히 소개해 보고자 합니다. 우선 본문으로 들어가기 앞서 기본 용어부터 정리하고 가겠습니다. 네트워크: 인터넷 도로(흡사 거미줄과 같다고 보면 편하다.)-> 서로 떨어져 있는 컴퓨터끼리 연결하는 도로(망) 프로토콜: 컴퓨터 사이에 메시지를 주고받기 위한 통신방법에 대한 규칙과 약속 패킷: 통신을 할 때 전송되는 내용물 HTTP(Hyper Text Transfer Protocol): 클라이언트와 서버 사이에 이루어지는 요청 혹은 응답 프로토콜(-> 주로 웹 통신을 할 때 사용된다.) TCP(Transmission Control Protocol): 다른 컴퓨터와 데이터 통신을..