| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
Tags
- libhostpolicy.so
- 스냅드래곤PC
- fclose
- copilot
- stdout flag
- Blue Dragon
- fclose leak
- stdout
- xsputn
- copilot+pc
- get local
- DotNet
- hole punching
- Los
- c# localport
- puts
- puts분석
- sputn
- Red Dragon
- OSI
- MICROSOFT365
- TCP
- puts함수
- 우분투 C#
- c# 로컬포트
- TcpClient
- dotnet publish
- lord of sql injection
- 스냅드래곤노트북
- 홀펀칭
Archives
- Today
- Total
Osori Development Studio
_call_tls_dtors exploit 본문
이건 정리를 해두어야 할 것 같아서 글을 쓴다.
요약하자면 FS 세그먼트 부분과 , libc 메모리 쪽 컨트롤이 가능할 때 원하는 함수 실행이 가능하다
exit 함수에서는 필수적으로 _call_tls_dtors가 호출이 되는데,

ida에 문제가 생겨서 좀 이상해졌지만 저 memory 부분은 free함수이다.
따라서 0x3f0b18과 fs 쪽 메모리를 건드려 줄 수 있다면 원하는 함수를 호출 시킬 수 있다.
이때 free hook 까지 이용하기 위해서는 메모리 세팅을
rdi=[rbx+8]=0
rax=[rbx+0x10]=아무 주소(실제 존재하는)
rdx=[rbx+0x18]
으로 맞춰줘야 한다. rdi가 0인이유는 xor연산을 무시하기 위함이다. 저 rax에 주소를 넣어주는 이유는

lock을 하기 때문이다.
'Security > 개인 연구' 카테고리의 다른 글
| malloc.c 분석 [2] _int_malloc (fastbin, smallbin) (2) | 2020.12.28 |
|---|---|
| malloc.c 분석 [1] __libc_malloc (feat. Arena) (0) | 2020.12.28 |
| fclose() 를 이용한 leak (1) | 2020.12.27 |
| Ubuntu 16.04 Exploit 테크닉 정리 (1) | 2020.12.17 |
| /proc/pid/mems 리눅스에서 프로세스 해킹하기 (0) | 2020.11.26 |