보상이 걸린 질문
질문에 답변을 달고 보상을 받아가세요!
완료됨
5 코인 풀이법 질문
일단 저는 memset의 got에 shellcode를 넣고 실행하여 익스플로잇에 성공하였는데, ROP로 memset got의 주소에 shellcode를 넣었다면 최종 리턴 어드레스 (페이로드의 마지막 부분)이 p64(memsetgot)가 아니라 p64(memsetplt)가 되어도 익스플로잇이 되야하지 않나요? plt는 got의 주소를 참조하기에 memsetgot에 주소를 넣고 plt를 실행시키면 익스가 될줄 알았는데 got에 덮어 씌우고 최종 리턴주소도 memsetgot로 해야만 익스플로잇이 되더군요 다른 질문이나 댓글에서는 bss도 종종 언급하던데, bss에 무언가를 덮어씌우고 실행시킨다는 발상은 어떤부분에서 근거하나요? 그냥 힌트를 기반으로 bss영역에 무언가를 써도 실행권한이 있을테니 bss에 shellcode를 덮고 bss를 리턴주소로 쓴건가요? 다소 간단한 질문이지만 답해주시면 감사하겠습니다!
완료됨
5 코인 풀이법 질문
일단 저는 memset의 got에 shellcode를 넣고 실행하여 익스플로잇에 성공하였는데, ROP로 memset got의 주소에 shellcode를 넣었다면 최종 리턴 어드레스 (페이로드의 마지막 부분)이 p64(memsetgot)가 아니라 p64(memsetplt)가 되어도 익스플로잇이 되야하지 않나요? plt는 got의 주소를 참조하기에 memsetgot에 주소를 넣고 plt를 실행시키면 익스가 될줄 알았는데 got에 덮어 씌우고 최종 리턴주소도 memsetgot로 해야만 익스플로잇이 되더군요 다른 질문이나 댓글에서는 bss도 종종 언급하던데, bss에 무언가를 덮어씌우고 실행시킨다는 발상은 어떤부분에서 근거하나요? 그냥 힌트를 기반으로 bss영역에 무언가를 써도 실행권한이 있을테니 bss에 shellcode를 덮고 bss를 리턴주소로 쓴건가요? 다소 간단한 질문이지만 답해주시면 감사하겠습니다!
커뮤니티 최신글