The password is again hidden in an unknown file. However, the script that was previously used to find it has some limitations. Requirements: Knowledge of SSI, unix directory structure.
알 수 없는 파일에서 암호가 다시 숨겨집니다. 다만 기존에 찾던 스크립트에는 몇 가지 제약이 있다.
요구사항: SSI, 유닉스 디렉토리 구조에 대한 지식. ( 이 두가지가 필요한 것 같다.)
HackThisSite
HackThisSite.org is a free, safe and legal training ground for hackers to test and expand their ethical hacking skills with challenges, CTFs, and more.
www.hackthissite.org
Level 9
Network Security Sam is going down with the ship - he's determined to keep obscuring the password file, no matter how many times people manage to recover it. This time the file is saved in /var/www/hackthissite.org/html/missions/basic/9/.
In the last level, however, in my attempt to limit people to using server side includes to display the directory listing to level 8 only, I have mistakenly screwed up somewhere.. there is a way to get the obscured level 9 password. See if you can figure out how...
This level seems a lot trickier then it actually is, and it helps to have an understanding of how the script validates the user's input. The script finds the first occurance of '<--', and looks to see what follows directly after it.
네트워크 시큐리티 샘이 우주선과 함께 침몰할 예정입니다. 그는 아무리 많은 사람들이 암호를 복구하더라도 암호 파일을 계속 숨기기로 결심했습니다. 이번에는 /var/ww/hackthissite.org/html/missions/basic/9/에 파일이 저장됩니다.
하지만 마지막 단계에서 디렉터리 목록을 8레벨로만 표시하는 것을 포함하여 서버측 사용을 제한하려다 제가 실수로 어디선가 실수를 했습니다. 숨겨진 9단계 암호를 얻을 수 있는 방법이 있습니다. 어떻게 할 수 있는지...
이 수준은 실제보다 훨씬 더 까다로워 보이며 스크립트가 사용자의 입력을 확인하는 방법을 이해하는 데 도움이 됩니다. 이 스크립트는 '<--'의 첫 번째 발생을 찾고, 그 바로 뒤에 무엇이 나타나는지 살펴본다.
-----------------------
영어공부를 해야하는데... 파파고에 맨날 돌리게 된다...ㅠㅠ
일단 구글에 SSI 와 유닉스 디렉토리 구조에 대해 검색해보자.
SSI이란?
HTML 페이지의 전체 코드를 수정하지 않고 공통 모듈 파일로 관리하며 동적인 내용을 추가하기 위해 만들어진 기능으로 주로 방문자 수 세거나 홈페이지 로고 수정 등 간단한 기능 추가할 때 사용한다. 또한 '.shtml' 확장자 파일을 사용한다.
<!--#echo var = "DATE_LOCAL" -->
-> DATE_LOCAL = 현재 시간을 출력해주는 지시어
명령어를 실행하기 위해 속성부분을 'cmd'로 변경해주고(exec cmd) ls 명령어를 입력한다.
-> <--#exec cmd="ls" -->
현재 디렉터리 하위에 있는 디렉터리와 파일 목록을 출력해준다.
다음으로 cat 명령어를 이용하여 passwd 파일의 내용을 출력하는 SSI 지시어를 주입해 passwd 파일의 내용을 출력해준다.
-> <!--#exec cmd="cat /etc/passwd" -->
passwd 파일의 내용을 출력해준다.
이제 netcat을 이용하여 악의적인 스크립트 파일을 서버에 추가해보자
netcat은 앞에 취약점 공격에서도 많이 사용해 보았으므로 자세한 설명은 생략하겠다.
출처: https://tkdrms568.tistory.com/141 [보안 신입사원의 보안 공부]
뒷 내용이 더 있지만 이해를 아직 잘 못해서 패스. (하다보면 이해되겠지)
음... 하지만 패스워드만 입력하게 되어있다;
유닉스 디렉토리에 대해 검색해보자. 음... 그냥 트리 형태라는 건데...
<--#exec cmd="ls" --> 가 안먹히는데...
여기서 소스도 보고 script 검색도 해보고 하다가 정말 아차 싶었다.
1. "/var/ww/hackthissite.org/html/missions/basic/9/에 파일이 저장 " 이 문구!
<!--#exec cmd="ls /var/ww/hackthissite.org/html/missions/basic/9"--> 를 입력해봤으나 역시나 안먹힌다는...
2. "디렉터리 목록을 8레벨로만 표시하는 것을 포함하여 서버측 사용을 제한하려다 " 이 문구!
무슨 뜻인지는 잘 모르겠으나 일단 레벨 8에서는 입력이 됐었으니 레벨 8로 돌아가서 저 명령어를 실행해봤다!
잘된다 ㅜㅜ 감격!!
레벨 9 컴플릿!!
'정보 보안 해킹 공부 > 모의해킹' 카테고리의 다른 글
[드림핵] XSS, CSRF 등 공부 (0) | 2022.02.21 |
---|---|
[OWASP Top 10] 2021 취약점 공부 (0) | 2022.02.15 |
[Wargames]missions/basic/11/ (0) | 2022.01.11 |
[Wargames]missions/basic/10 (0) | 2022.01.09 |
[Wargames]워게임 Bandit 시작 (0) | 2022.01.08 |
댓글