포인터 리다이렉팅
Reading time: 2 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
문자열 포인터
함수 호출이 스택에 위치한 문자열의 주소를 사용할 경우, 버퍼 오버플로우를 악용하여 이 주소를 덮어쓰고 이진 파일 내의 다른 문자열의 주소를 넣는 것이 가능합니다.
예를 들어, system
함수 호출이 명령을 실행하기 위해 문자열의 주소를 사용할 경우, 공격자는 스택에 다른 문자열의 주소인 **export PATH=.:$PATH
**를 배치하고 현재 디렉토리에 새 문자열의 첫 글자 이름을 가진 스크립트를 생성할 수 있습니다. 이는 이진 파일에 의해 실행됩니다.
다음에서 예제를 찾을 수 있습니다:
- https://github.com/florianhofhammer/stack-buffer-overflow-internship/blob/master/ASLR%20Smack%20and%20Laugh%20reference%20-%20Tilo%20Mueller/strptr.c
- https://guyinatuxedo.github.io/04-bof_variable/tw17_justdoit/index.html
- 32비트, 스택에서 플래그 문자열의 주소를 변경하여
puts
에 의해 출력되도록 함
함수 포인터
문자열 포인터와 동일하지만 함수에 적용됩니다. 스택에 호출될 함수의 주소가 포함되어 있는 경우, 이를 변경하는 것이 가능합니다 (예: system
호출).
다음에서 예제를 찾을 수 있습니다:
참고문헌
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.