Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Metasploit
- 취약점 스캔
- 메타스플로잇
- SQLINJECTION
- root권한
- sql
- 취약점분석
- Los
- 내부침투
- 해킹
- 스캔
- CTF
- web hacking
- load of sqlinjection
- SQL Injection
- 스캐닝
- Samba
- 침투테스트
- 해킹도구
- 암호해독
- smb
- 시스템 해킹
- 모의해킹
- Kioptrix
- 권한상승
- 해킹툴
- 칼리리눅스
- 취약점
- Hacking
- 포트스캔
Archives
- Today
- Total
감자 텃밭
[시스템] GOT Overwrite 본문
GOT Overwrite란 기법은 PLT, GOT의 GOT를 조작하여 사용하는 기법이다.
해당 기법은 PLT와 GOT는 Dynamic Link 방식에서 공유라이브러리를 사용하는 과정을 이해한다면
쉽게 이해 할 수 있을것이다.
함수가 호출되면 plt를 참조하고 plt는 got를 참조하는대 got에는 함수의 실제 주소가 들어가있다고 했다.
그럼 여기서 plt가 참조하는 got영역에 공격자가 원하는 함수를 악의적으로 저장했다고 가정해보자.
위 사진과 같이 plt는 -> got는 -> 실제함수를 가르키고있다 위 상황을 악의적인 상황으로 바꿔보면.
위와 같은 모양이 된다
plt 가 참조하는 got영역의 주소가 본래의 실제함수 주소가 아닌 악의적으로 저장해놓은 함수를 참조하는 것이다.
즉 사용자가 read() 함수를 실행시키지만, 내부적으로 system() 함수가 실행되는 효과를 가져온다.
ex read("/bin/sh") -> system("bin/sh")
해당 기법은 여러 기법에서 응용되는 기법이며, ROP, FSB, RTL-Chaining등 수많은 기법에서 응용된다.
※ 내용이 이상하거나 문제가 있을경우, 또는 설명에 부족한 내용이 있으시면 알려 주시면 감사합니다.
'System > System Hacking Techniques' 카테고리의 다른 글
[시스템] Return-Oriented-Programming - ROP [x64-64bit] (0) | 2021.11.23 |
---|---|
[시스템] Return-Oriented-Programming - ROP [x86-32bit] (0) | 2021.11.22 |
[시스템] RTL-Chaining (0) | 2021.11.21 |
[시스템] Return-to-Libc (RTL) (0) | 2021.11.20 |
[시스템] Return-to-Shellcode (0) | 2021.11.20 |