반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
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
Tags
more
Archives
Today
Total
관리 메뉴

ZZoMb1E_PWN

[PWNABLE] NX bit 본문

STUDY/PWNABLE_AMD64

[PWNABLE] NX bit

ZZoMb1E 2023. 10. 22. 05:20
728x90
반응형

※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ 

BOF 하면서 포스팅했어야 하는데 순서가 좀 틀렸네요;;

 

 

No eXecute bit의 약자로 스택 영역에 실행권한을 부여하지 않는 것이다.

비교를 위해 같은 c파일을 2가지 방법으로 컴파일 했다.

non_ex 파일은 NX bit가 비활성화 된 상태이고,

tomato 파일은 활성화 되있는 상태이다.

 

먼저 활성화 되있는 tomato를 살펴보면

스택 부분의 권한을 보면 실행 권한인 x가 빠진 것을 알 수 있다.

 

이어서 non_nx파일을 살펴보면

실행권한 x가 들어가 있는 것을 알 수 있다.

 

이때 스택영역에서 우리가 공격을 위해 사용할 수 있는 것은

셸코드 같은 바이트 코드이다.

 

여기서 셸코드가 아닌 다른 문자열도 바이트 코드로 인식을 해버리는 경우

셸코드가 정상적인 기능을 수행하지 못하는 경우도 있다.

이런 경우를 위해 NOP Sled라는 기법이 존재한다.

 

어셈블리어에서 NOP의 기능은 다음 명령어로 넘기는 것이다.

즉, 셸코드 앞뒤로 NOP을 패치해준다면 셸코드를 실행하는데 있어서

방해되는 요소들을 예방할 수 있다.

 

728x90
반응형

'STUDY > PWNABLE_AMD64' 카테고리의 다른 글

[PWNABLE] RTL  (0) 2023.10.22
[PWNABLE] Shellcode & RTS  (0) 2023.10.22
[PWNABLE] ASLR 보호기법  (0) 2023.10.22
[PWNABLE] Canary_GOT Overwrite  (0) 2023.10.22
[PWNABLE] GOT Overwrite  (0) 2023.10.04