본문 바로가기

one_gadget

@eouya22025. 7. 23. 23:05

one_gadget이란

원가젯은 maing_gadget이라고도 부르며, 실행하면 쉘을 획득할 수 있는 코드 gadget이다. 

제약 조건을 맞춰서 rip레지스터를 원가젯을 가리키도록 하면 매우 강력한 익스플로잇 도구가 될 수 있다.

 

원가젯은 libc 버전마다 다르게 존재하고 버전이 높아질수록 제약 조건도 맞추기 까다로워진다.

함수에 인자를 전달하기 어려운 상황에 유용하게 활용될 수 있으며, 이 때 제약 조건을 만족하는 원가젯이 있다면 이를 실행하여 쉘을 획득할 수 있다.

 

원가젯은 libc영역에 있기 때문에, libc_base 주소를 구한 다음 offset을 더하여 사용가능하다.

constraints 부분이 제약 조건이다. 동적분석 하며 제약 조건을 확인할 수도 있지만, 보통 원가젯을 다 써놓고 하나하나 다 넣어본다..ㅋ

'PWN > 개념' 카테고리의 다른 글

Use After Free(UAF) 취약점  (2) 2025.07.25
ptmalloc2 - Memory Allocator in Linux  (1) 2025.07.24
PIE / RELRO  (0) 2025.07.23
Return Oriented Programming(ROP) 공격 기법  (0) 2025.07.23
PLT, GOT  (0) 2025.06.26
eouya2
@eouya2 :: eouya2

개인공부 기록 / 틀린거 있으면 돌팔매질 부탁드립니다

목차