[Over The Wire] Natas Level 9 - 10

ABC·2023년 7월 25일
0

Natas

목록 보기
3/3
post-thumbnail

Level 9

풀이

Block 안에 특정 단어를 넣어야 풀리는 문제인 것 같다.

우선 소스코드를 보자

passthur라는 함수가 있는데 이 함수의 기능을 알아보았다.

PHP script내에 존재하는 passthur 명령어는 command를 실행하는 exec() 명령어와 비슷하게 사용할 수 있다고 한다.
passthur 안에 있는 grep -i key dictionary.txtdictionary.txt안에 $key값이 존재하는지 확인하는 명령어이다.
dictionary.txt파일을 열어야 하니 cat dictionary.txt를 텍스트 박스에 쳐보았다.

뭔가 많긴한데 원하는 값이 나오진 않았다.

natas 소개에서 모든 암호는 /etc/natas_webpass/natas0안에 있다고 했으니 이 곳을 열어보자.

이것저것 쳐보다가 정답을 찾아냈다.
;cat /etc/natas_webpass/natas10 dictionary.txt을 치니 다음 레벨의 암호를 얻을 수 있었다.

Level 10


9레벨과 비슷한데 보안상의 이유로 특정 문자를 필터링 한다고 적혀있다.

풀이


이전 문제에서와 다른 점은 ;, |, &연산자를 필터링 하는 것이다.
저번 문제랑 비교하면서 알아낸 사실이 있는데 $key에 들어가는 것을 Text Box에 넣는 것인데,
앞에선 ;를 사용해 grep의 명령어를 끝내고 cat을 사용하여 문제를 해결하였고, 이번에는 -r을 이용해 읽을 수 있는 파일의 범위를 제한하여 탐색해볼 것이다.

페이지에 grep -i -r '[a-z]' /etc/natas_webpass를 치면 a부터 z까지 영어로 쓰여진 암호를 탐색할 수 있다.

위 명령어를 치면 11레벨의 암호를 얻을 수 있었다.

profile
자유

1개의 댓글

comment-user-thumbnail
2023년 7월 25일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기