estherseo
JINIWAY
estherseo
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • ์ „๊ณต๊ณต๋ถ€
    • CS
      • Network
      • Algorithm
      • ๐Ÿ“–
      • python
      • django
    • Pentest
      • ๐Ÿ“–
      • HTB
      • Machines
    • Web-hacking
      • ๐Ÿ“–
      • Dreamhack
      • Portswigger
    • System-hacking
      • ๐Ÿ“–
    • Mobile-hacking
    • Project
    • CVE
    • CTF
    • News & Conference
    • ์ž๊ฒฉ์ฆ
    • ์‹ ๊ธฐ์ˆ 
      • AI

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก
  • ๋ธ”๋กœ๊ทธ ์†Œ๊ฐœ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํƒœ๊ทธ

  • ์‹œ์Šคํ…œํ•ดํ‚น๊ณต๋ถ€
  • ์„ธ๊ณ„์‹ ์•ˆ๋ณดํฌ๋Ÿผ
  • ์‹œ์Šคํ…œํ•ดํ‚น ์Šคํ„ฐ๋””
  • n00bCTF
  • python eval
  • CTF๊ณต๋ถ€
  • asc
  • ์Šคํƒ์นด๋‚˜๋ฆฌ
  • ๊ธฐ์‚ฌ์š”์•ฝ
  • Pillow์ทจ์•ฝ์ 
  • ํ™”์ดํŠธํ–‡ํˆฌ๊ฒŒ๋”1๊ธฐ ๊ฒฐ๊ณผ๊ณต์œ ํšŒ
  • ๋„คํŠธ์›Œํฌ๊ด€๋ฆฌ์‚ฌ ์‹ค๊ธฐ ํ•ฉ๊ฒฉ
  • integer overflow
  • 2022 pox
  • shocker
  • ํŒจํ‚ท์žก๊ธฐ
  • ๋‹คํฌ์›น ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋น„์Šค
  • HTB shocker
  • CVE-2022-22817
  • ํ™”์ดํŠธํ–‡ํˆฌ๊ฒŒ๋”1๊ธฐ
  • ๋‹คํฌ์›น ๋ชจ๋‹ˆํ„ฐ๋ง
  • HTB valentine
  • pox2022
  • ์ค‘์†Œ๊ธฐ์—… ์ •๋ณด๋ณดํ˜ธ
  • ASC ์Šคํ„ฐ๋””
  • jwt token last character
  • ASC์Šคํ„ฐ๋””
  • ํ™”์ดํŠธํ–‡ํˆฌ๊ฒŒ๋”
  • ์…ธ์‡ผํฌ
  • 2022 ๋„คํŠธ์›Œํฌ๊ด€๋ฆฌ์‚ฌ
hELLO ยท Designed By ์ •์ƒ์šฐ.
estherseo

JINIWAY

[ASC ์Šคํ„ฐ๋””] 6์ฃผ์ฐจ - ํ•จ์ˆ˜์˜ ์Šคํƒ ํ”„๋ ˆ์ž„, ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ๊ธฐ๋ฒ•, Stack Buffer Overflow
System-hacking/๐Ÿ“–

[ASC ์Šคํ„ฐ๋””] 6์ฃผ์ฐจ - ํ•จ์ˆ˜์˜ ์Šคํƒ ํ”„๋ ˆ์ž„, ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ๊ธฐ๋ฒ•, Stack Buffer Overflow

2022. 7. 23. 05:13

๐Ÿ‘‰ ์ง€๋‚œ ์ฐจ์‹œ

2022.07.07 - [System-hacking/๐Ÿ“–] - [ASC ์Šคํ„ฐ๋””] 5์ฃผ์ฐจ - ์—ฐ์Šต๋ฌธ์ œ ํ’€์ด, GDB, IDA, Pwntools ์‚ฌ์šฉ๋ฒ•

 

1. ํ•จ์ˆ˜์˜ ์Šคํƒ ํ”„๋ ˆ์ž„

ํ•จ์ˆ˜ ํ˜ธ์ถœ ๊ณผ์ •

> ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉํ•  ์ธ์ž๋ฅผ ์Šคํƒ์— ๋„ฃ๊ณ  ํ•จ์ˆ˜ ์‹œ์ž‘์ง€์ ์œผ๋กœ ์ ํ”„

> ํ•จ์ˆ˜ ๋‚ด์—์„œ ์‚ฌ์šฉํ•  ์Šคํƒ ํ”„๋ ˆ์ž„ ์„ค์ •

> ํ•จ์ˆ˜ ๋‚ด์šฉ ์‹คํ–‰

> ์‹คํ–‰์„ ๋งˆ์นœ ํ›„, ํ˜ธ์ถœ ์ง€์ ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ ์œ„ํ•ด ์Šคํƒ ๋ณต์›

 

#include <stdio.h>

int add(int a, int b){
	return a+b;
}

int main(){
	int result = add(2,3);
	printf("2+3 = %d\n", result);
	return 0;
}

 

Buffer
SFP
RET

addํ•จ์ˆ˜ ํ˜ธ์ถœ ์ „ ์Šคํƒ ํ”„๋ ˆ์ž„

Buffer
SFP
RET
a
b
Buffer
SFP
RET

addํ•จ์ˆ˜ ํ˜ธ์ถœ ํ›„ ์Šคํƒ ํ”„๋ ˆ์ž„

 

add ํ•จ์ˆ˜

< ํ•จ์ˆ˜์˜ ํ”„๋กค๋กœ๊ทธ >

์ดˆ๋ฐ˜
1. ํ•จ์ˆ˜ CALL
2. PUSH EBP
3. MOV EBP, ESP

 

< ํ•จ์ˆ˜์˜ ์—ํ•„๋กœ๊ทธ >

1. MOV ESP, EBP
2. POP EBP

์ œ์ผ ์œ„์— ์žˆ๋˜ SFP๋ฅผ POP์‹œ์ผœ์„œ EBP๋ ˆ์ง€์Šคํ„ฐ์— ๋„ฃ๋Š”๋‹ค.

3. RET

 

 

์Šคํƒํ”„๋ ˆ์ž„(Stack Frame) ์ด๋ž€? - eli_ez3r Hacking Blog

์Šคํƒ ํ”„๋ ˆ์ž„(Stack Frame)์ด๋ž€ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ, ๊ทธ ํ•จ์ˆ˜๋งŒ์˜ ์Šคํƒ ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ƒ์„ฑ๋˜๋Š” ๊ณต๊ฐ„์ด๋‹ค. ์ด ๊ณต๊ฐ„์—๋Š” ํ•จ์ˆ˜์™€ ๊ด€๊ณ„๋˜๋Š” ์ง€์—ญ ๋ฒˆ์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋ฉฐ, ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํ• ๋‹น

eliez3r.github.io

-> ์ž˜ ์ •๋ฆฌ๋˜์–ด์žˆ๋Š” ๋ธ”๋กœ๊ทธ

 

2. ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ๊ธฐ๋ฒ•

  • ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ๊ธฐ๋ฒ• ํ™•์ธ
    • $checksec --file [filename]
    • gdb ์‹คํ–‰ ํ›„ "checksec"

 

ASLR(Address Space Layout Randomization)

  - ์‹คํ–‰ ํŒŒ์ผ๊ณผ ๊ด€๋ จ๋œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์Šคํƒ, ํž™์ด ๋งคํ•‘๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์˜ ์ฃผ์†Œ๋ฅผ ๋žœ๋ค์œผ๋กœ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ

  - ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์˜์—ญ์˜ ์ฃผ์†Œ๊ฐ€ ๋žœ๋ค์ ์œผ๋กœ ๊ณ„์† ๋ณ€๊ฒฝ๋จ

  -  ์ด๋ฅผ ํ†ตํ•ด ๊ณต๊ฒฉ์ž๊ฐ€ ๊ณ ์ •๋œ ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹คํ–‰ ํ๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์„ ๋ง‰์Œ

 

=> ์šฐํšŒ ๋ฐฉ๋ฒ• : ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ(์œ ์ถœ)์„ ํ†ตํ•ด ์šฐํšŒ

/proc/self/maps์„ ํ†ตํ•ด ํ™•์ธ ๊ฐ€๋Šฅ,  vmmap์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ

 

 

NX(No-eXecute) bit

: ์Šคํƒ, ํž™, ๋ฐ์ดํ„ฐ ์˜์—ญ์—์„œ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š” ๊ธฐ๋ฒ•

: ์œˆ๋„์šฐ์—์„œ๋Š” DEP(Data Execution Prevention)์ด๋ผ ๋ถ€๋ฆ„

: Shellcode๋กœ ์ธํ•œ ๊ณต๊ฒฉ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Œ

 

=> ์šฐํšŒ ๋ฐฉ๋ฒ• : mprotect ํ•จ์ˆ˜ ์ด์šฉ, RTL, ROP ๊ธฐ๋ฒ•์œผ๋กœ ์šฐํšŒ

-z execstack ์œผ๋กœ NX bit๋ฅผ Disable ํ•  ์ˆ˜ ์žˆ์Œ

 

 

SSP(Stack Smashing Protector) - Stack Canary

: ์Šคํƒ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ•

: Buffer์™€ SFP ์‚ฌ์ด์— ๋žœ๋คํ•œ (4/8)๋ฐ”์ดํŠธ์˜ Canary ๊ฐ’์„ ์‚ฝ์ž…

: ํ•จ์ˆ˜ ์ง„์ž…์‹œ ์นด๋‚˜๋ฆฌ ๊ฐ’์„ ์„ค์ •ํ•˜๊ณ  ํ•จ์ˆ˜ ์ข…๋ฃŒ์‹œ ๋ณ€์กฐ ๋๋Š”์ง€ ํ™•์ธ(๋ณ€์กฐ ๋์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ)

 

=> ์šฐํšŒ ๋ฐฉ๋ฒ• : ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ ์„ ํ†ตํ•ด ์šฐํšŒ, Brute Force ๋“ฑ

์ปดํŒŒ์ผ ํ•  ๋•Œ Canary๋ฅผ ํ•ด์ œํ•˜๋Š” ์˜ต์…˜ : -fno-stack-protector

์ปดํŒŒ์ผ ํ•  ๋•Œ Canary๋ฅผ ์„ค์ •ํ•˜๋Š” ์˜ต์…˜ : -fstack-protector

SFP์™€ RET ๊ฐ’์ด ๋ณ€์กฐ ๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•จ

 

 

PIE(Position-Independent Executables)

: ๋ฐ”์ด๋„ˆ๋ฆฌ ์˜์—ญ์˜ ์ฃผ์†Œ๋ฅผ ๋žœ๋คํ™”, ์‹คํ–‰๋งˆ๋‹ค ๋ฐ”์ด๋„ˆ๋ฆฌ ์˜์—ญ์˜ ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋จ

: ASLR๊ณผ PIE๋Š” ๋‹ค๋ฆ„ ( ASLR์€ OS ์˜ต์…˜, PIE๋Š” ์ปดํŒŒ์ผ ์˜ต์…˜์œผ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ์ ์šฉ )

: 0x400000์— ๋งคํ•‘๋˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐ”์ด๋„ˆ๋ฆฌ์™€ ๋‹ค๋ฅด๊ฒŒ Base Address๊ฐ€ ๋งค๋ฒˆ ๋ฐ”๋€œ

 

=> ์šฐํšŒ ๋ฐฉ๋ฒ• : ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ ์„ ํ†ตํ•ด ์šฐํšŒ

์ปดํŒŒ์ผ : -no-pie(PIE ํ•ด์ œ), -fpie -pie(PIE ์„ค์ •)

 

 

RELRO(RELocation Read-Only)

: GOT Overwrite ๊ณต๊ฒฉ์— ๋Œ€๋น„ํ•˜์—ฌ ELF ๋ฐ”์ด๋„ˆ๋ฆฌ ๋˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ฐ์ดํ„ฐ ์„น์…˜์„ ๋ณดํ˜ธํ•˜๋Š” ๊ธฐ์ˆ 

: ๋ฉ”๋ชจ๋ฆฌ ํŠน์ • ์˜์—ญ์„ ๋ฎ์–ด์“ธ ์ˆ˜ ์—†๋„๋ก ํ•จ

: PARTIAL-RELRO : ctors, dtors, dynamic Section Read-Only

: FULL-RELRO : got Section Read-Only

์ปดํŒŒ์ผ : -z norelro(NO-RELRO), -z relro(PARTIAL-RELRO), -z relro -z now(FULL-RELRO)

 

 

3. Stack Buffer Overflow

  • Stack ์˜์—ญ์—์„œ ๋ฐœ์ƒํ•˜๋Š” Memory Corruption
  • ์ง€์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๋ฒ—์–ด๋‚˜ ๋‹ค๋ฅธ ์˜์—ญ์„ ์นจ๋ฒ”ํ•˜๋Š” ๊ฒƒ
#include <stdio.h>

int main(){
	char buf1[] = "Hello This is BufferOverflow";
	char buf2[20] = {0, };

	printf("input buf2 : ");
	scanf("%s", buf2);

	printf("buf 1 : %s\n", buf1);
	printf("buf 2 : %s\n", buf2);

	return 1;
}

gcc -o bof1 bof.c -z execstack -fno-stack-protector -no-pie

์ •์ƒ์ ์ธ ์‹คํ–‰ ๊ฒฐ๊ณผ
๋ฒ„ํผ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ

 

์Šคํƒ ๋ฒ„ํผ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ  :

๊ธธ์ด ์ œํ•œ์„ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ

 

 

์ทจ์•ฝํ•œ ํ•จ์ˆ˜๋“ค : 

scanf, gets, sprintf ( ์ž…๋ ฅ ๊ธธ์ด ๊ฒ€์‚ฌX )

strcpy, strcat ( ๋ณต์‚ฌ ๊ธธ์ด ๊ฒ€์‚ฌX )

read, fgets ( ์ž˜๋ชป๋œ ๊ธธ์ด ์„ค์ • )

 

 

์Šคํƒ ๋ฒ„ํผ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ :

ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ํ๋ฆ„ ๋ณ€๊ฒฝ

๋‹ค๋ฅธ ๋ณ€์ˆ˜์˜ ๊ฐ’ ๋ณ€๊ฒฝ

์›ํ•˜๋Š” ์ฝ”๋“œ ์‹คํ–‰ ๊ฐ€๋Šฅ

 

 

shellcode ์‰˜์ฝ”๋“œ : 

- 32bit execve(/bin/sh, 0, 0)

\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80

\x6a\x68\x68\x2f\x2f\x2f\x73\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x6a\x0e\x58\x48\x48\x48\x99\xcd\x80

\x31\xc0\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x31\xc9\x31\xd2\xb0\x08\x40\x40\x40\xcd\x80

 

- 64bit execve(/bin/sh, 0, 0)

\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05

\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x48\x31\xc0\x50\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x48\x89\xe7\xb0\x3b\x0f\x05

\x6a\x3b\x58\x99\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x52\x53\x54\x5f\x52\x57\x54\x5e\x0f\x05

\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x31\xc0\x99\x31\xf6\x54\x5f\xb0\x3b\x0f\x05

\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05

 

4. Stack Buffer Overflow ์‹ค์Šต ๋ฌธ์ œ ํ’€์ด

๋ฌธ์ œ ํ’€์ด1 : overwrite_variable64

IDA๋กœ ๋””์ปดํŒŒ์ผ

char v4[32];

char s1[32];

( ๋จผ์ € ์„ ์–ธ๋˜๋ฉด ์Šคํƒ์— ๋จผ์ € ์Œ“์ด๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€? )

 

v4๋ฅผ 'A'๋กœ ์ฑ„์›Œ์ฃผ๊ณ  s1์„ 'PwnPwn..' ์œผ๋กœ ๋ฎ๋Š”๋‹ค.

 

 

๋ฌธ์ œ ํ’€์ด2 : memory_leak

์ž…๋ ฅํ•œ ๊ฒƒ์„ ๊ทธ๋Œ€๋กœ ๋‹ค์‹œ ์ถœ๋ ฅํ•ด์ค€๋‹ค.

 

 

v3 fd src[48] s[48] buf[40]


(์ž…๋ ฅ) (์ž…๋ ฅ๊ฐ’ ๋ณต์‚ฌ) FLAG

 

scanf("%77s", src)์— 48๊ธ€์ž๋ฅผ ์ž…๋ ฅํ•˜๋ฉด,

stncpy(s, src, v3)์— ์˜ํ•ด FLAG์ „๊นŒ์ง€ ๋ฒ„ํผ๊ฐ€ ์ฐจ๊ฒŒ ๋œ๋‹ค.

puts(s)๋ฅผ ํ†ตํ•ด s๋ฅผ ์ถœ๋ ฅํ•˜๋Š”๋ฐ, puts๋Š” '\0'์ด ๋‚˜์˜ค๊ธฐ ์ „๊นŒ์ง€ ์ถœ๋ ฅํ•ด์ฃผ๋ฏ€๋กœ FLAG๊นŒ์ง€ ์ถœ๋ ฅ๋œ๋‹ค.

 

๋ฌธ์ œ ํ’€์ด3 : overwrite_ret64

๋ณดํ˜ธ๊ธฐ๋ฒ• X
์ •์ƒ ์‹คํ–‰ ๋™์ž‘

์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ๋ฒ„ํผ์˜ ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€Œ๊ณ  ์žˆ๋‹ค => ASLR

ํ’€์ด๋Š” ๋‹ค์Œ ์ฃผ์ฐจ์—์„œ!

 

 

 

โญ๊ณต๋ถ€ํ•  ๊ฒƒ๋“ค

1. ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ ๊ธฐ๋ฒ• ๋” ๊ตฌ๊ธ€๋งํ•ด๋ณด๊ธฐ

2. ์Šคํƒ ๋ฒ„ํผ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์›Œ๊ฒŒ์ž„ ๋งŽ์ด ํ’€์ด

 

 


ASC ์‹œ์Šคํ…œํ•ดํ‚น ์Šคํ„ฐ๋””

 

'System-hacking > ๐Ÿ“–' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ASC ์Šคํ„ฐ๋””] 8์ฃผ์ฐจ - Stack Canary + Out Of Boundary  (0) 2022.08.19
[ASC ์Šคํ„ฐ๋””] 7์ฃผ์ฐจ - Stack Buffer Overflow ๋ฌธ์ œ ํ’€์ด, Integer Overflow  (0) 2022.07.30
[ASC ์Šคํ„ฐ๋””] 5์ฃผ์ฐจ - ์—ฐ์Šต๋ฌธ์ œ ํ’€์ด, GDB, IDA, Pwntools ์‚ฌ์šฉ๋ฒ•  (0) 2022.07.07
[ASC ์Šคํ„ฐ๋””] 4์ฃผ์ฐจ - ๋ ˆ์ง€์Šคํ„ฐ, ์–ด์…ˆ๋ธ”๋ฆฌ, ์—ฐ์Šต๋ฌธ์ œ, GDB ์‚ฌ์šฉ๋ฒ•  (0) 2022.06.27
[ASC ์Šคํ„ฐ๋””] 3์ฃผ์ฐจ - ๊ธฐ์ดˆ์ด๋ก , ํ™˜๊ฒฝ์„ธํŒ…, ๋ฉ”๋ชจ๋ฆฌ๊ตฌ์กฐ  (0) 2022.06.24
    'System-hacking/๐Ÿ“–' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ASC ์Šคํ„ฐ๋””] 8์ฃผ์ฐจ - Stack Canary + Out Of Boundary
    • [ASC ์Šคํ„ฐ๋””] 7์ฃผ์ฐจ - Stack Buffer Overflow ๋ฌธ์ œ ํ’€์ด, Integer Overflow
    • [ASC ์Šคํ„ฐ๋””] 5์ฃผ์ฐจ - ์—ฐ์Šต๋ฌธ์ œ ํ’€์ด, GDB, IDA, Pwntools ์‚ฌ์šฉ๋ฒ•
    • [ASC ์Šคํ„ฐ๋””] 4์ฃผ์ฐจ - ๋ ˆ์ง€์Šคํ„ฐ, ์–ด์…ˆ๋ธ”๋ฆฌ, ์—ฐ์Šต๋ฌธ์ œ, GDB ์‚ฌ์šฉ๋ฒ•
    estherseo
    estherseo
    ์•ˆ๋…•ํ•˜์„ธ์š”๐Ÿ˜€

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”