rtld overwrite

2022. 10. 6. 15:46·PWN/TIP
728x90

exit함수로 실행흐름을 바꾸는 방법이있다. FULL RELRO거나 PIE base는 모르지만 libc base는 알때 사용하기 좋은 공격 기법인 것 같다!

 

main함수에서 ret를 하게 되면 __libc_start_main+231 로 간다. 그리고 exit함수를 호출하게 되는데

exit함수는 내부적으로 __run_exit_handlers -> _dl_fini -> _rtld_lock_lock_recursive(_dl_load_lock) 이런 실행 흐름을 가지고 있다.

따라서 _rtld_lock_lock_recursive를 system으로 바꾸고

_dl_load_lock을 sh로 바꾸면 쉘이 실행될 것이다.

 

exit가 뭔가 하기에 참 좋은 함수인거 같다

저작자표시 비영리 변경금지 (새창열림)

'PWN > TIP' 카테고리의 다른 글

Linux command  (0) 2020.08.04
FMT  (0) 2020.07.06
malloc_hook을 one_shot으로 덮었을 때  (0) 2019.08.26
입력 함수 입력받지 못하는 값 정리  (0) 2019.08.15
environ 으로 stack leak 하기!  (0) 2019.08.09
'PWN/TIP' 카테고리의 다른 글
  • Linux command
  • FMT
  • malloc_hook을 one_shot으로 덮었을 때
  • 입력 함수 입력받지 못하는 값 정리
J1W0N
J1W0N
jijijiji
  • J1W0N
    JIWON
    J1W0N
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • PROGRAMMING N
        • PYTHON
        • JS
        • 알고리즘
        • React N
      • WEB
        • LOS
        • rubiya
      • PWN
        • pwnable.tw
        • pwnable.kr
        • CTF
        • TIP
        • wargame
        • 읽자
        • HITCON_Training
      • Security_ETC
      • REVERSING
      • 할 것 정리
      • 잡담
        • 끄적끄적
        • 영어일기
      • 정보
      • 정리
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
J1W0N
rtld overwrite
상단으로

티스토리툴바