Webhacking.kr
#47
[Mail Header Injection]
47번 문제를 보면 아래와 같은 화면을 볼 수 있다.
제목을 통해 Mail Header Injection임을 알 수 있다.
form의 method는 post이고, action은 index.php이다.
힌트를 참고하여 index.phps를 보면 아래와 같다.
이 때 form을 통해 입력한 text가 mail()에서 header 정보 중 from으로 들어간다는 것을 알 수 있다.
php에서 제공하는 mail()은 아래와 같다.
아래에 보이는 것처럼 mail()의 역할은 메일을 보내는 것이다.
(출처: http://php.net/manual/en/function.mail.php)
우리가 입력할 text가 들어갈 header에 관해 조금 더 자세히 볼 필요가 있다.
Header는 \r\n으로 구분하면 From, Cc, Bcc 등의 extra header를 보낼 수 있다. 즉, 우리의 입력은 From에 들어가기 때문에 \r\n으로 구분하여 cc나 bcc에 관한 정보도 함께 전달할 수 있다는 것이다.
따라서 우선 a@a.com을 입력하여 submit하였다.
그리고 Burp Suite를 이용하여 request를 잡은 뒤
From에 들어갈 원래 입력 뒤에 cc 정보를 추가하였다.
이렇게 입력하니 패스워드가 출력되었다.
메일서버의 문제로 정답이 출력되도록 하드코딩 해두셔서 이렇게 볼 수 있다.
따라서 위의 패스워드를 이용하여 인증하면 clear할 수 있다.
'Wargame > webhacking.kr' 카테고리의 다른 글
webhacking.kr 60번 (0) | 2019.01.29 |
---|---|
webhacking.kr 43번 (0) | 2019.01.29 |
webhacking.kr 49번 (0) | 2019.01.29 |
webhacking.kr 11번 (0) | 2019.01.29 |
webhacking.kr 34번 (0) | 2019.01.29 |
댓글