본문 바로가기
Wargame/webhacking.kr

webhacking.kr 47번

by morae23 2019. 1. 29.

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

댓글