포맷 스트링에서 3번째 주소는 +2를 해야 하는 건가요?
212
작성한 질문수 2
강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)
질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요.
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!
구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.
기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다.
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요.
• 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
n1 = p32(0x8049724)
n2 = p32(0x8049725)
n3 = p32(0x8049727)
payload = 'AAAA' + n1 + 'BBBB'+ n2 + 'CCCC'+ n3 + '%8x:' * 3
앞의 주소는 +1를 했는데, 왜 C 다음에 오는 주소에는 +2를 해줘야 하는 건가요?
그리고 8x를 3번 했는데, 왜 24가 아닌 27을 차지 하는 건가요?
답변 1
0
안녕하세요 강사 최일선입니다.
코드만 봐서는 각 바이트를 디자인하는 과정으로 보이는데요.
본래는 한 바이트씩 세팅을 해야하지만
덮어 씌워야 할 다음 주소가 컨트롤이 필요 없는 경우에는 건너 뛰어도 됩니다.
그래서 2바이트를 더한 겁니다~
p32(0x8049724) 한바이트 덮어 씌우기
p32(0x8049725) 두바이트 덮어 씌우기
p32(0x8049727) 한바이트 덮어 씌우기
감사합니다.
Kernel KPTI 적용시 영향?
0
652
1
qemu 스크립트 실행시 Kernel panic이 발생합니다.
0
878
2
L23->L24 권한 거부 때문에 작성한 쉘코드를 실행 할 수가 없어요
0
698
1
Kernel UAF
0
646
1
heap0 문제 오류
3
377
0
프로토스타 32bit 다운로드
0
494
1
format1 질문
0
409
1
프로토스타 다운로드
0
497
2
원하는 스택 바꾸기 강의 질문이요
0
271
0
현재 올려놓으신 사이트도 접속이 안되는데 어디서 문제를 확인할 수 있을까요?
0
359
1
stack7 질문입니다!
0
222
0
리눅스 어태치 ret2lib
0
351
0
어태치 리턴주소
0
300
1
stack3 python3 pwntool 질문이요!!
0
1190
1
스택 메모리 거리값
0
226
1
파이썬 실행 오류 ㅠㅠ 며칠쨰 같은자리에서 반복중입니다 ㅠㅠ
0
743
2
putty 접속이 안 됩니다.
0
830
2
11:02 결과 출력 안 될 때
0
252
0
어태치 안 되시는 분들
0
302
0
jmpcall rsp 질문입니다.
0
253
1
stack7 jmpcall
0
303
1
프로토스타 프로그램
0
281
1
쉘코드 생성 어태치 강의에서 질문이 있습니다.
0
483
1
아무리 조절해봐도 딱 들어 맞지가 않을때는 어떻게 해야 하나요??
0
192
0





