cat 명령을 사용하여 flag.txt를 볼 수 없습니다.

cat 명령을 사용하여 flag.txt를 볼 수 없습니다.

명령 주입이 필요한 문제에 대한 플래그를 캡처하려고 합니다. $(ls ..) 명령을 사용하여 텍스트 파일 flag.txt를 볼 수 있습니다.

여기에 이미지 설명을 입력하세요.

그러나 $(cat) 또는 $(cd)와 같이 cd 또는 cat을 사용하려고 하면 "명령을 찾을 수 없습니다"라는 메시지가 나타납니다.

여기에 이미지 설명을 입력하세요.

또한 다음을 모두 시도했습니다.

$(ls .. | cat flag.txt)
$(echo $PATH)
$(cat flag.txt)
$(ls .. | echo $PATH)
$(pwd)
$(ls .. | pwd)
$(cd ..)
$(cd .. | echo $PATH) 

터미널 명령 $() 을 래핑합니다. 그렇지 않으면 주석으로 게시될 것이기 때문입니다.

챌린지 설명은 다음과 같습니다.

우리가 관련 없는 정보라고 생각하는 정보에서, 갱단을 감시하는 현장 요원 중 한 명이 오늘 아침 개인 중 한 명이 연필을 파는 웹사이트를 보고 있는 것을 발견했다고 보고했습니다. 글쎄요, 그들은 파일을 숨기는 등 다른 용도로도 사용하는 것 같습니다.

다행스럽게도 해당 사이트는 명령 주입에 취약한 것으로 판단됩니다. 댓글 양식을 사용하여 파일에 액세스하고 찾을 수 있는지 확인하세요. 여기에는 강도 계획에 관여한 갱단원 목록과 공격에서 그들의 특정 역할이 포함되어 있다고 생각하므로 즉시 파악하는 것이 중요합니다.

팁: 플래그가 포함된 파일을 찾으세요.

나는 답을 찾고 있지 않습니다. 해결책을 찾는 데 도움이 될 수 있는 제안이나 웹사이트를 환영합니다.

답변1

실행하면 이 파일을 볼 수 있습니다 ls ..(아이디어가 어디서 나오든)...

즉, 파일 위치는 ./flag.txt(= flag.txt) 가 아니지만../flag.txt

$(cat ../flag.txt)

답변2

chain 명령 대신 or를 사용하려는 경우 파이프를 사용해도 |효과가 없습니다.;&&

관련 정보