[Hack This Site] | Basic-7 | write-up

V123·2023년 10월 14일
0

Hack The Site

목록 보기
7/10
post-thumbnail

0x0 : 서비스 이해도

서비스에 대한 이해도는 'Grey-Box'로 볼 수 있을 거 같다.

0x1 : 정보 수집

썸네일 문제에서 비밀번호를 '숨겨둔 파일'이 존재하고, '달력'을 보여주는 기능이 있다고 한다. 근데 기술적 요구사항이 'UNIX'인걸로 봐서는 달력 프로그램을 실행시키는 거 같다.

문제 내용을 보면, 정말로 UNIX 명령어 'cal'를 이용해서 우리가 입력한 년도에 대해 달력을 출력해주는 입력 폼을 가지고 있다.

0x2 : 서비스 동작 방식 파악

년도를 적어주면 서버는 해당 년도값을 cal 명령어 인자로 넘겨주고 그 결과를 반환한다.

하지만 여기서 사용자의 입력값이 시스템 명령어를 실행시키는 서버 코드 일부분에 그대로 들어가며, 그리고 그 결과를 직접 출력해준다. 즉, 어떻게보면 하나의 시스템 명령어를 입력과 동시에 출력을 웹 환경에서만 하고 있는거다.

0x3 : 공격 기법 마련

사용자의 입력값이 시스템 명령어 일부분에 그대로 들어가므로, 'OS Command Injection'이 가능해 보인다. 기존에 있던 시스템 명령어를 세미콜론(;)을 통해 닫아버리고 우리가 원하는 명령어를 다시 써준다면 해당 명령어가 실행될 거다.

0x4 : 익스플로잇

; ls -al

문제에서 비밀번호 파일이 '모호한 이름'으로 해당 우리가 위치하고 있는 디렉터리에 저장되어 있다고 했으므로 파일 스캔 명령어를 실행시켜서 어떤 파일이 존재하는지 확인해 보겠다.

'모호한 이름'이 아마도 뭔가 의심되는(?)그런 이름일테니 정상적이지 않은 'k1kh31b1n55h.php'파일을 한번 보도록 하자. 비밀번호가 출력되는 걸 알 수 있다.

profile
보안과 개발을 공부하는 평범한 학생입니다.

0개의 댓글

관련 채용 정보