보상이 걸린 질문
질문에 답변을 달고 보상을 받아가세요!
일단 저는 memset의 got에 shellcode를 넣고 실행하여 익스플로잇에 성공하였는데,
ROP로 memset got의 주소에 shellcode를 넣었다면 최종 리턴 어드레스 (페이로드의 마지막 부분)이 p64(memsetgot)가 아니라 p64(memsetplt)가 되어도 익스플로잇이 되야하지 않나요? plt는 got의 주소를 참조하기에 memsetgot에 주소를 넣고 plt를 실행시키면 익스가 될줄 알았는데 got에 덮어 씌우고 최종 리턴주소도 memsetgot로 해야만 익스플로잇이 되더군요
다른 질문이나 댓글에서는 bss도 종종 언급하던데, bss에 무언가를 덮어씌우고 실행시킨다는 발상은 어떤부분에서 근거하나요? 그냥 힌트를 기반으로 bss영역에 무언가를 써도 실행권한이 있을테니 bss에 shellcode를 덮고 bss를 리턴주소로 쓴건가요?
다소 간단한 질문이지만 답해주시면 감사하겠습니다!
일단 저는 memset의 got에 shellcode를 넣고 실행하여 익스플로잇에 성공하였는데,
ROP로 memset got의 주소에 shellcode를 넣었다면 최종 리턴 어드레스 (페이로드의 마지막 부분)이 p64(memsetgot)가 아니라 p64(memsetplt)가 되어도 익스플로잇이 되야하지 않나요? plt는 got의 주소를 참조하기에 memsetgot에 주소를 넣고 plt를 실행시키면 익스가 될줄 알았는데 got에 덮어 씌우고 최종 리턴주소도 memsetgot로 해야만 익스플로잇이 되더군요
다른 질문이나 댓글에서는 bss도 종종 언급하던데, bss에 무언가를 덮어씌우고 실행시킨다는 발상은 어떤부분에서 근거하나요? 그냥 힌트를 기반으로 bss영역에 무언가를 써도 실행권한이 있을테니 bss에 shellcode를 덮고 bss를 리턴주소로 쓴건가요?
다소 간단한 질문이지만 답해주시면 감사하겠습니다!
커뮤니티 최신글
어린이도 부처님도 선물로 받고 싶은 플래그 🚩 <CTF S7 #9>
[0]
290
[KISA] 실전형 사이버훈련장 침해사고 대응 훈련 5월 과정 모집 ❗
[0]
76
[속보] 드림핵 해킹 아이돌 B.A.N. 전격 데뷔… 스쿨 아이돌 게 섯거라🪄 <CTF S7 #8>
[1]
542
[얼리버드 EVENT][청년취업사관학교 용산캠퍼스(SeSAC)] AI를 활용한 하이브리드 클라우드 데이터옵스 엔지니어 양성과정 교육생 모집(~5/27)
[0]
179
⚔ [해킹 공격편] 빡공팟 웹해킹/시스템해킹/리버싱 트랙 모집 시작! ⚔
[0]
351
옷장에서 벌어지는 청기백기 게임 🏳 <CTF S7 #7>
[0]
204
드림핵 CTF 시즌7 6 라운드 <CTF S7 #6>
[0]
269