정보보안아카데미

#21

이야기prog 2025. 8. 29. 16:33
반응형

BoF(Buffer Overflow):

 

 

ASLR(Address Space Layout Randomize):

 

proc/sys/kernel/randomize_va_space 값이 2라면 heap,stack 둘다, 1이면 stack, 0이면 사용안함

 

NX(None eXecute) : 실행권한 제거 

 

Stack Guard -> Canary bit

 

gcc -o bof_auth_auth.c -fno-stack-protector (스택 프로텍터 우회해서 컴파일)

 

 

---------------------------------------------------------------------------------------------------------------------

#gdb 명령어

 

gdb -q hello (hello파일 디버그)

disas main (main함수쪽 디스어셈블)

b (함수이름)

run (실행)

c (다음 breakpoint까지 run)

s 또는 n (한 행씩 실행) s는 함수만나면 함수안으로 진입, n은 그냥 다음줄

u (루프 빠져나가기)

f (함수 수행하고 빠져나가기)

r (함수 수행안하고 중도에 나감)

k (실행종료)

 

info f (스택프레임 확인)

info registers (레지스터들 값 확인)

info locals (지역변수 확인)

info variables (전역변수 확인)

 

레지스터 종류

 

범용(EAX, EBX, ECX, EDX) / 인덱스(ESI, EDI) / 포인터 레지스터(EIP, ESP, EBP) 

EAX: accumulator (산술연산)

EBX: base (변수저장)

ECX: count (반복문에서 카운트)

EDX: data (산술연산 보조)

ESI: source(출발지 주소 저장)

EDI: destination(목적지 주소 저장)

EIP: instruction(다음 실행할 명령어 주소) - pc(program counter)

ESP: stack (스택 포인터)

EBP: base (베이스 포인터)

 

Race condition

Mutual exclusion(상호 배제)/ Deadlock(교착 상태)/ Starvation(기아 상태)

 

semaphore / mutex

반응형

'정보보안아카데미' 카테고리의 다른 글

#20  (2) 2025.08.26
#19  (2) 2025.08.26
#18  (3) 2025.08.22
#17  (0) 2025.08.20
#16  (0) 2025.08.20