티스토리 뷰
URL : http://natas9.natas.labs.overthewire.org/
id : natas9
password : Sda6t0vkOPkM8YeOZkAGVhFoaplvlJFd
(2023. 03 기준)
문자열을 입력하면 특정 결과를 리턴해주는 페이지입니다.
소스 코드를 살펴보니 grep 이라는 명령어가 눈에 띄네요
grep 은 리눅스, 유닉스에서 아주 흔하게 사용되는 명령어입니다.
해당 명령어가 생소하다면 아래 링크를 참고하세요.
https://originalchoi.tistory.com/entry/grep-%EB%AA%85%EB%A0%B9%EC%96%B41
그렇다면 grep 명령어를 활용해 패스워드를 획득하려면 어떻게 해야할까요?
grep [찾고자 하는 문자열 패턴] 자리에 aa 라는 문자열을 입력하고 ; 으로 명령을 끊어 보겠습니다.
그러면 페이지의 내부적으로는 grep -i aa; 명령이 실행되겠죠?
aa 라는 문자열 패턴을 찾되 어느 파일에서 찾는지가 명시되어 있지 않아서 특별한 결과값이 출력되지 않을 것입니다. 그렇다면 ; 뒤에 새로운 명령어를 붙이면 어떻게 될까요?
명령이 실행되는 현재 작업 디렉토리 위치를 알려주는 pwd 명령이 실행되고
output 영역에 노출되는 것을 확인할 수 있습니다.
이번 문제는 문제에서 주어진 dictionary.txt 에서 패스워드를 찾아내는 문제가 아닙니다.
"grep -i . dictionary.txt" 식으로 명령어를 완성하면 해당 파일의 내용을 모두 확인할 수 있는데
파일의 내용 전체를 살펴봐도 패스워드에 대한 단서는 없습니다.
단서는 natas 프로젝트의 소개 페이지에 있었던
All passwords are also stored in /etc/natas_webpass/ 라는 문구입니다.
우리는 웹서버의 구조를 이용해서 /etc/natas_webpass/natas10 파일을 읽어들이면 됩니다.
10단계로 가는 패스워드를 획득했네요.
리눅스 cat 명령어가 익숙하지 않은 분은 아래 링크를 참고하세요.
https://originalchoi.tistory.com/entry/cat-%EC%82%AC%EC%9A%A9%EB%B2%95
natas 사이트에서 통하는 취약점은 실제로 아주 오래전에는 통했을지도 몰라도
지금은 먹히지 않는게 대부분입니다.
혹시라도 natas 에서 배운 기법을 활용해서 현실세계에서 웹취약점을 탐색하는 행위는
하지 않기를 강력하게 권고합니다.
natas 는 보안 학습을 위해 제작된 사이트로 취약점 탐색 행위를 하는것을 허용하게끔 설계되었고
그 영향력이 제한적이지만 동일한 방식으로 현실에 존재하는 개인/상업 사이트에 취약점 점검을 한다면
여러분은 법적인 책임을 지게 될 수 있습니다.
국내외 대부분의 사이트들은 침입탐지 시스템 등을 운영하고 이상 탐색 행위를 추적할 수 있습니다.
이곳에서는 웹보안에 대한 기본적인 개념을 익히는데 만족하고
그 외 다양한 시도는 사전 협의된 테스트 환경이나 본인이 감당할 수 있는 실험 환경 등에서만
진행하길 바랍니다.
'수업 노트 > natas' 카테고리의 다른 글
natas11 solution (0) | 2023.04.09 |
---|---|
natas10 solution (0) | 2023.04.06 |
natas8 solution (0) | 2022.05.24 |
natas7 solution (0) | 2022.05.17 |
natas6 solution (0) | 2022.05.17 |
- Total
- Today
- Yesterday
- 리눅스
- 풀이
- natas7
- 리터럴
- Natas
- 32bit
- ssh
- Strings
- tar
- find
- nc
- BASE64
- OpenSSL
- Encode
- OverTheWire
- tr
- HTTPS
- 웹보안공부
- X32
- grep
- gz
- Bandit
- 웹보안
- bz2
- 압축파일
- java
- Linux
- solution
- SSL
- over the wire
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |