전체 글

Security/암호학(Cryptography)

[CryptoHack] Base64

개념 설명 또 다른 일반적인 인코딩 표현 방식은 Base64로, 64자의 알파벳을 사용하여 이진 데이터를 ASCII로 표현할 수 있다. Base64 문자열의 한 문자는 6개의 이진 숫자(bits)를 인코딩하므로 Base64의 4문자는 3개의 8bit 바이트를 인코딩한다. (6*4 == 8*3) Base64는 온라인에서 가장 일반적으로 사용되므로 이미지와 같은 이진 데이터를 HTML 또는 CSS 파일에 쉽게 포함할 수 있다. ! python에서 base64 모듈을 import 후 base64.b64encode() 함수를 사용할 수 있다. 이 문제에서는 설명에 따라 hex를 먼저 디코딩해야 한다. 예제 import base64 cipher = '72bca9b68fc16ac7beeb8f849dca1d8a783..

Write up (Wargame)/Pwnable

[pwnable.xyz] two targets 풀이

analysis checksec으로 확인하면 PIE랑 RELRO가 걸려있지 않고 canary와 NX가 걸려있다. int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int cmd; // eax char name[32]; // [rsp+10h] [rbp-40h] BYREF _QWORD v5[4]; // [rsp+30h] [rbp-20h] BYREF v5[3] = __readfsqword(0x28u); // cnry setup(); memset(name, 0, 0x38uLL); while ( 1 ) { while ( 1 ) { print_menu(); cmd = read_int32(); if ( cmd != 2 ) bre..

Security/암호학(Cryptography)

[CryptoHack] Hex

https://cryptohack.org/courses/intro/enc2/ CryptoHack – Home A fun, free platform to learn about cryptography through solving challenges and cracking insecure code. Can you reach the top of the leaderboard? cryptohack.org 무언가를 암호화할 때, 결과 암호문은 출력 가능한 ASCII 문자가 아닌 바이트를 갖는다. 암호화된 데이터를 공유하려면 서로 다른 시스템에서 보다 사용자 친화적이고 이식 가능한 데이터로 인코딩하는것이 일반적이다. 16진수는 ASCII 문자열을 나타내는 방식으로 사용할 수 있다. 각 문자는 ASCII 표에따라 ord..

Security/암호학(Cryptography)

[CryptoHack] ASCII

아스키는 0-127의 정수를 사용하여 텍스트를 표현하는 7비트 인코딩 표준이다. 아래 정수 배열을 사용해서, 숫자를 해당 아스키 문자로 변환하여 플래그를 얻는다. 저번 문제인 Great Snakes의 코드를 참고하여 만든다. chr(), ord() 함수에 대해 찾아보면 되는데 chr()함수는 ASCII를 문자로 변환하는데 사용된다. (ord 함수와는 반대임) ords = [99, 114, 121, 112, 116, 111, 123, 65, 83, 67, 73, 73, 95, 112, 114, 49, 110, 116, 52, 98, 108, 51, 125] print("".join(chr(o) for o in ords)) 이전 문제에서 필요한 부분만 빼서 만들면 끝!

Security/암호학(Cryptography)

[CryptoHack] Great Snakes

이후 커리큘럼을 진행하는데 있어, python3가 필요하므로 이를 설치하고 파이썬 파일을 실행시켜서 플래그를 제출하라고 한다. https://thfist-1071.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%ACpython-%EC%84%A4%EC%B9%98-%EC%8B%9C-%EC%A3%BC%EC%9D%98%ED%95%A0-%EC%A0%90 파이썬(python) 설치 시 주의할 점, pip 에러 PATH 무적권 체크 thfist-1071.tistory.com https://thfist-1071.tistory.com/entry/Anaconda%EB%A5%BC-%ED%86%B5%ED%95%9Cpython-%EC%84%A4%EC%B9%98-%EA%B3%BC%EC%A0%95%EC..

Write up (Wargame)/Pwnable

[pwnable.xyz] xor 풀이

analysis canary 없음. int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int v3; // [rsp+Ch] [rbp-24h] __int64 v4; // [rsp+10h] [rbp-20h] BYREF __int64 v5; // [rsp+18h] [rbp-18h] BYREF __int64 v6; // [rsp+20h] [rbp-10h] BYREF unsigned __int64 v7; // [rsp+28h] [rbp-8h] v7 = __readfsqword(0x28u); puts("The Poopolator"); setup(); while ( 1 ) { v6 = 0LL; printf(format, argv)..

Write up (Wargame)/Pwnable

[Dreamhack Wargame] cube 풀이

보호되어 있는 글입니다.

Write up (Wargame)/Pwnable

[Dreamhack Wargame] environ 풀이

보호되어 있는 글입니다.

그믐​
neutrinox4b1