srop

send_sig 문제풀이1. 취약점 확인먼저 checksec 명령어로 보호기법을 확인해보자[*] '/home/gunp4ng/project/SF/send_sig/send_sig' Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) SHSTK: Enabled IBT: Enabledx64 아키텍처에 Partial RELRO, NX - bit 보호기법이 걸려있는 것을 알 수 있다 1. 어셈블리C코드가 주어지지 않고 바이너리 파일만 주어졌다main 함수가 없어서 obj..
SROP (Sigreturn-Oriented Programming) - x641. SROP이전 글에서 x86 아키텍처에 대한 SROP 방법을 알아보았다x64 아키텍처에서 확인해보자 기본적으로 x86과 x64 의 signal & signal handler 동작은 동일하다하지만 x64 환경이기 때문에 x86 레지스터와는 차이가 있다  2. Sigreturn1. sigcontextx64 환경에서는 sigreturn 시스템 콜이 호출되면, ucontext 구조체 안에 있는 sigcontext 를 기준으로 레지스터를 복원한다→ 유저 스택에는 ucontext 구조체가 먼저 들어가고 그 안에 sigcontext 가 포함되는 것이다 struct ucontext_x32 { unsigned int uc_flags; u..
SROP (Sigreturn-Oriented Programming) - x861. SROP ?Sigreturn Oriented Programming 으로 sigreturn 시스템 콜을 이용하여 레지스터에 원하는 값을 저장하고 원하는 시스템 함수를 호출하는 공격기법이다. SROP 를 알아보기 전에 시그널에 대해 알아보자  2. 시그널 (Signal) 1. 시그널 (Signal)운영체제는 크게 유저 모드(User Mode)와 커널 모드(Kernel Mode) 로 나뉘어진다. 유저 모드(User Mode)일반 프로그램이 실행되는 제한된 권한의 모드하드웨어 직접 접근 불가중요한 시스템 자원 접근 제한됨커널 모드(Kernel Mode)운영체제 핵심 코드가 실행되는 특권 모드모든 하드웨어와 시스템 자원에 접근 가능..