Remote에서 rwx 권한을 어떻게 확인할 수 있나요?..

안녕하세요. local에서는 memset의 got entry와 bss 모두 실행 권한이 없다고 나오고, 둘 다 shellcode로 overwrite하려니 Seg fault가 발생하는데, remote에서는 memset의 got나 bss 모두 shellcode로 overwrite하니 shell을 잘 획득할 수 있네요.

혹시나 해서 local에서의 vmmap 결과를 첨부합니다.
image.png

Local과 remote에서 이렇게 rwx 권한이 다르게 설정되어 있는 경우가 어떻게 있을 수 있는지 (같은 executable인데..), 그리고 이렇게 다른 경우 remote의 rwx 권한을 어떻게 파악하면 되는지 궁금합니다..

또 문제에서 validator_server 파일은 왜 주어진건가요? dist 파일과 동일해 보이던데 무슨 차이가 있는지 궁금합니다.

#pwnable
작성자 정보
답변 2
avatar
wyv3rn
무플 방지 위원회장

동일하게 쓰기 권한이 있는 것 같은데요 ㅎㅎ

로컬에서 쓰려는 주소와 vmmap으로 본 쓰기 가능한 주소를 비교해보시겠어요?

해당 영역의 권한은 보호 기법에 따라 다르고, 아시다시피 relro입니다.

2022.08.26. 15:23
avatar
Sechack
2024 Invitational Contenders

https://medium.com/csg-govtech/why-doesnt-my-shellcode-work-anymore-136ce179643f 버전에 따라서 다르게 나올 수 있어요. 자세한건 위 링크 참고하세요.

2022.08.28. 23:43
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기