Username: natas9
URL: http://natas9.natas.labs.overthewire.org
단어...?를 입력하는 폼이 있다.

소스코드를 보면,

입력값으로 받은 문자열이 "dictionary.txt" 파일 내에 존재하는 지 검색한 뒤, 그 결과를 출력하고 있다.
이 때 passthru() 라는 함수를 쓰고 있는데, 입력받은대로 프로그램을 실행해서 보여주는 함수이다.

즉 입력값을 검사하지 않는다면 해커가 의도한 명령을 그대로 실행할 수도 있는 보안에 취약한 함수라고 할 수 있다.
마침 여기서도 입력값을 검사하는 코드는 없으니, 바로 다음 단계의 패스워드를 읽어올 수 있을 것이다.
그래서 처음엔 아무생각없이 cat /etc/natas_webpass/natas10 을 입력했었는데.. 안 됐고..
입력값이 비어있지 않을 때는 grep 어쩌구 dictionary.txt 를 실행하고 있으니까,
; 를 입력해서 해당 명령을 종료한 뒤 cat 명령을 쓰면 될 것이다.
따라서
; cat /etc/natas_webpass/natas10 를 입력했더니 패스워드가 나왔다.

혹시 natas11도 패스워드 나오나? 했지만 응 그럴 리 없어~ 안 나왔
'Wargame > natas' 카테고리의 다른 글
Natas Level 11 풀이 (0) | 2023.07.07 |
---|---|
Natas Level 10 풀이 (0) | 2023.05.09 |
Natas Level 8 풀이 (0) | 2023.04.27 |
Natas Level 7 풀이 (0) | 2023.04.17 |
Natas Level 6 풀이 (0) | 2023.04.10 |