Basic 8번째 문제이다.
~/missions/basic/8 디렉터리에 암호화되지 않은 패스워드가 저장되어 있다.
근데 여동생이 PHP로 프로그래밍을 배우고 있는데, 보안에 대해 아무것도 모른다는 내용이다.
우선 Stephanie라는 이름을 제출해보자.
이러한 내용이 표시되는데,
링크를 눌러보면, 입력값, 입력값의 길이를 출력해주는 것을 만든 것을 알 수 있다.
더군다나 테스트해보면 알겠지만, 파일명은 실행 시마다 달라진다.
또한, URL을 보면, 확장자도 shtml인 것을 볼 수 있다.
이는 SSI(Server-Side Includes) HTML의 준말이며, SSI란 HTML 페이지에 사용하는 지시어로, 페이지를 서비스할 때 서버가
처리하게 된다. Last modified라는 내용으로 마지막 수정 날짜를 추가하는 등의 동적인 기능을 추가할 수 있다.
많은 지시어들이 있는데, 이 곳을 참고하면, 많은 내용을 볼 수 있다.
그 중, 우리는 아래의 exec 지시어를 사용할 것이다.
실행 시 /basic/8/tmp 안의 파일을 읽게 되므로, 부모 디렉터리를 읽어주는 ls ../ 명령을 실행시킨다.
아래처럼 입력하면 되겠다.
<!-- #exec cmd="ls ../" -->
제출 후, 링크를 눌러보면, "Hi, " 다음으로 ls ../ 명령에 대한 결과가 출력된다.
수상한 파일이 보이는데, 그 곳으로 가보자.
패스워드가 보인다.
제출하면 Clear
'[Wargame Write-up] > HackThisSite' 카테고리의 다른 글
[HackThisSite] [Basic missions] Basic 10 (0) | 2017.01.12 |
---|---|
[HackThisSite] [Basic missions] Basic 9 (0) | 2017.01.11 |
[HackThisSite] [Basic missions] Basic 7 (0) | 2017.01.10 |
[HackThisSite] [Basic missions] Basic 6 (0) | 2017.01.10 |
[HackThisSite] [Basic missions] Basic 5 (0) | 2017.01.09 |