작성
·
68
·
수정됨
0
basic 을 넣고하면 flag가 HackWorld{censor}로 나와서 답이 아니길래 ./basic 을 빼고 했는데
이렇게 경로가 / 여기로 가지는데 여기서 플래그를 찾아야 하는건가요? ..
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 하려고하는사람님께서 질문하신 내용을 잘 검토하였습니다.
현재 상황은 Buffer Overflow 익스플로잇을 활용하여 플래그를 얻어내는 과정으로 보입니다. 보내주신 이미지를 통해 터미널에서의 실행 결과를 보면 플래그를 찾는 데 어려움이 있는 것 같습니다.
플래그의 위치: 보통 해킹 대회(CTF) 문제에서는 플래그 파일이 특정 경로에 숨겨져 있거나 프로그램을 적절히 조작했을 때 결과로 나타나기도 합니다. 현재 디렉터리(/)는 일반적으로 루트 디렉터리이기 때문에, 플래그가 그곳에 있는 경우는 드물 수 있습니다.
파일 및 디렉토리 탐색: ls
명령어를 이용하여 현재 디렉토리의 내용을 탐색하는 것은 좋은 방법입니다. 한 단계 더 나아가 cat flag.txt
같은 명령어로 플래그 파일을 직접 열어볼 수 있습니다.
익스플로잇 코드 및 환경 확인: 사용하는 익스플로잇 코드가 제대로 작동하는지, 그리고 해당 서버나 환경에서 플래그가 저장된 위치를 정확하게 파악해야 합니다. 예를 들어, 강의 자료를 통해 정확한 플래그 파일의 위치를 다시 확인해 보세요.
유사한 질문에 대한 답변을 참고하시려면 여기의 게시글을 확인해 보시면 도움이 될 수 있습니다: 질문있습니다.flag가 안 나옵니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
안녕하세요 우선 질문 남겨주심에 감사드립니다!
결론부터 이야기하면 우리 서버에는 /home/basic_bof 폴더 안에 flag 파일이 있습니다!
HackWorld{censor}의 경우 문제파일과 함께 제공된 디렉터리에 있는
예시 플래그 파일입니다. 그러니까, 원격의 특정한 포트 (이 문제의 경우 101.79.9.58 10010)
에서 돌아가고있는 프로그램을 기준으로 제공된 폴더에서 동일한 상대경로에 flag가 있다는 뜻입니다.
만약에 원격에 있는 서버를 성공적으로 해킹해서 shell을 띄웠다면 해당 디렉터리의 해당 위치에 있는 flag 파일에는 정답 flag 값이 담겨있는거죠.
사실 이미 shell을 실행시키고 나면 원하는 파일(flag) 위치를 find와 같은 명령어로 얼마든지 찾아 임의의 코드를 실행 할 수 있기 때문에, 아주 좋은 방법인 것 같습니다! 아주 잘해주셨습니다.
이외에도 궁금하신 내용이 있다면 언제든 말씀해주세요 .감사합니다 :)
제꺼의 root 경로면 괜찮은데
저의 경로는아니고 여기 사이트 사용자의 root 경로 같은데
find 명령어를 써서 하긴 했는데 이렇게 푸는거 맞나요?...?