완료됨
C언어로 어셈블리 코드를 만들 때 섹션 구분
C언어로 __asm__으로 시작하는 어셈블리 코드를 직접 짤 때,
변수 부분이 들어가는 .data 섹션이나 .bss 섹션은 코드로
이와 비슷하게 작성하여 건드릴 수 있는지 궁금합니다.
스택에 경로명을 넣는 코드 부분을 바꿔 .data 섹션을 건드려서
코딩을 해보려고 했지만, 성공하지 않아 질문드립니다.
#시스템_해킹
#공격기법
작성자 정보
답변
1
5unkn0wn
강의 수강: 50
쉘코드에서 직접적으로 data 섹션이나 bss 섹션을 이용하는 방법은 흔치 않습니다. 바이너리 별로 주소가 다르고, 오프셋도 상이하기 때문에 보통 스택이나 고정으로 할당된 주소 (mmap 등을 통해)를 이용하는 편입니다.
만약 한 바이너리에 대해 data 섹션을 직접 건드려 익스플로잇하고 싶다면, 데이터를 쓸 섹션의 주소를 하드코딩하여 쉘코딩하셔야 할 것 같습니다.