일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- dns
- dreamhack
- bandit
- Crypto
- RSA Common Modulas Attack
- spoofing
- XSS
- AES
- picoCTF
- rao
- 암호학
- shellcode
- OverTheWire Bandit Level 1 → Level 2
- Bandit Level 1 → Level 2
- Franklin-Reiter Related Message Attack
- Montgomery Reduction
- cryptography
- 시스템해킹
- pycrpytodome
- CSRF
- redirect
- return address overflow
- arp
- 드림핵
- RSA
- 웹해킹
- overthewire
- weak key
- Hastad
- Cube Root Attack
- Today
- Total
목록시스템해킹 (5)
암호(수학) 등.. 공부한 거 잊을거 같아서 만든 블로그

문제 문제 파일 : libc-2.27.so, rop.c, rop rop.c // Name: rop.c // Compile: gcc -o rop rop.c -fno-PIE -no-pie #include #include int main() { char buf[0x30]; setvbuf(stdin, 0, _IONBF, 0); setvbuf(stdout, 0, _IONBF, 0); // Leak canary puts("[1] Leak Canary"); printf("Buf: "); read(0, buf, 0x100); printf("Buf: %s\n", buf); // Do ROP puts("[2] Input ROP payload"); printf("Buf: "); read(0, buf, 0x100); retu..

문제 문제 파일 : ssp_001.c #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30); } void get_shell() { system("/bin/sh"); } void print_box(unsigned char *box, int idx) { printf("Element of index %d is : %02x\n", idx, box[idx]); } void menu(..

문제 문제 파일 : r2s.c// Name: r2s.c // Compile: gcc -o r2s r2s.c -zexecstack #include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); } int main() { char buf[0x50]; printf("Address of the buf: %p\n", buf); printf("Distance between buf and $rbp: %ld\n", (char*)__builtin_frame_address(0) - buf); printf("[1] Leak the canary\n"); printf("Input: "); fflush(stdout); read(0, buf, 0..

문제 문제 파일 : index.html Find FLAG ! 풀이 웹페이지를 키면 입력창이 계속 움직인다. 일단 코드를 확인해 보면 function moveBox() { box.posX = Math.random() * (window.innerWidth - 64); box.posY = Math.random() * (document.documentElement.scrollHeight - 64); box.style.marginLeft = box.posX + "px"; box.style.marginTop = box.posY + "px"; debugger; } 이 부분때문에 움직이는 것을 알 수 있다. 또한 debugger; 때문에 디버거가 활성화 된다. 분석에 방해되고 필요 없으므로 주석처리하자. 입력값을 검증..

문제풀이문제에서는 shell_basic.c 와 shell_basic 파일을 제공한다. shell_basic.c// Compile: gcc -o shell_basic shell_basic.c -lseccomp// apt install seccomp libseccomp-dev#include #include #include #include #include #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1);}void init() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, al..