Print Stack Canary

htARTE (HackTricks AWS Red Team Expert)를 통해 **제로**부터 **히어로**까지 **AWS 해킹**을 배우세요!

HackTricks를 지원하는 다른 방법:

출력된 스택 확대

스택 오버플로우 취약한 프로그램이 스택 오버플로우의 일부를 가리키는 puts 함수를 실행할 수 있는 상황을 상상해보세요. 공격자는 캐너리의 첫 번째 바이트가 널 바이트(\x00)이고 나머지 캐너리는 랜덤 바이트임을 알고 있습니다. 그럼 공격자는 오버플로우를 생성하여 캐너리의 첫 번째 바이트만 남을 때까지 스택을 덮어씁니다.

그런 다음, 공격자는 페이로드 중간에 있는 puts 기능을 호출하여 캐너리를 모두 출력합니다(첫 번째 널 바이트 제외).

이 정보를 통해 공격자는 캐너리를 알고 (동일한 프로그램 세션에서) 새로운 공격을 만들어 보낼 수 있습니다.

물론, 이 전술은 공격자가 페이로드 내용을 출력하여 캐너리를 유출하고 그런 다음 새로운 페이로드를 생성하고 실제 버퍼 오버플로우를 보낼 수 있어야 한다는 제한이 있습니다.

CTF 예시:

임의 읽기

형식 문자열에 의해 제공되는 임의 읽기로 캐너리를 누출할 수 있습니다. 다음 예제를 확인하세요: https://ir0nstone.gitbook.io/notes/types/stack/canaries 및 다음에서 임의 메모리 주소를 읽기 위해 형식 문자열을 남용하는 방법을 읽을 수 있습니다:

Last updated