인프런 커뮤니티 질문&답변

뇸뇸님의 프로필 이미지
뇸뇸

작성한 질문수

해킹대회(CTF) 출전을 위한 시스템해킹(Pwnable) 입문

익스플로잇 코드작성 (StackBufferOverFlow를 이용한 RET Overwrite)

안녕하세요 질문있습니다

해결된 질문

작성

·

330

0

브포 걸고 컨티뉴가 안돼서 런으로 입력을 했는데화면 캡처 2023-09-12 003727.png

스택 부분이 이렇게 나오는데 어느 부분이 잘못된 건지 알고 싶습니다

화면 캡처 2023-09-12 004532.png

답변 1

0

juntheworld님의 프로필 이미지
juntheworld
지식공유자

안녕하세요 뇸뇸님!! 또 뵙네요 :)

gdb를 처음 실행하게되면 (ex. gdb helloflag)

프로그램은 실행되지않은채로 디버거만 실행됩니다!

즉 disassemble main 명령어를 통해 확인하게되는 주소 (0x000000000000135e와 같은)는 프로그램이 실제 메모리에 로드되지않은 프로그램 주소(오프셋 주소)입니다.

이에

r -> ctrl+c

와 같은 명령어를 통해 프로그램을 한번 실행하고 잠시멈춘 후, 다시 disassemble main을 이용해 메모리에 로드된 실제 프로그램 코드의 주소를 이용해서 브레이크 포인트를 건 뒤 진행해보세요.

늘 좋은 질문 감사합니다!!

뇸뇸님의 프로필 이미지
뇸뇸
질문자

말씀해 주신대로 실행했습니다image

스택 주소가 이렇게 나와서image

영상에 나온 0x4141 값은 어디에 입력해서 찾아볼 수 있는지 궁금합니다

image

juntheworld님의 프로필 이미지
juntheworld
지식공유자

혹시 AAAAAAAAAAA... 를 입력 해주셨을까요??

뇸뇸님의 프로필 이미지
뇸뇸
질문자

프로그램 실행 안한 상태에서 인풋에 A를 입력했어서.. 해결 했습니다

 

익스플로잇 코드 실행하면 아래처럼 나오는데 해결 방법이 있나요 pwntools도 pip list로 설치 되어있나 확인도 해봤습니다ㅠ

imageimage

juntheworld님의 프로필 이미지
juntheworld
지식공유자

image9월 이후로 pwntools 내부에서 사용하는 라이브러리 버전으로 인해 오류가 발생하는 것을 발견하고, pwnable_conf.sh 을 수정했습니다!!

위의 사진을 참고해주시고 pwnable_conf.sh 전체 설치 코드는 아래 링크를 참고해주세요!

늘 열정적인 학습에 진심으로 감사합니다.

화이팅입니다!!

https://posty.pe/3wtok2

뇸뇸님의 프로필 이미지
뇸뇸

작성한 질문수

질문하기