티스토리 뷰

Wargame/Webhacking.kr

Challenge 47

do9dark 2015. 8. 31. 01:17

Mail Header injection 문제이다.



문제가 요구하는 답을 입력할 경우 문제가 풀리도록 하드 코딩되어 있다.

소스를 보면 index.phps 소스 파일이 주어져 있다.



소스 파일을 보면

mail("admin@webhacking.kr","readme","password is $pass",$header);

부분을 볼 수 있는데 여기서 조작을 할 수 있는 부분은 $header 부분 밖에 없다.



mail() 함수에 대한 자세한 내용은 아래 페이지에 자세하게 나와 있다.

참고(http://php.net/manual/en/function.mail.php)

bool mail ( string $to , string $subject , string $message [,string $additional_headers [, string $additional_parameters ]] )


즉, readme 라는 제목으로 password is $pass 값을 admin@webhacking.kr 로 메일을 보내는 함수라고 볼 수 있다.

입력할 수 있는 $header 부분은 $additional_headers 부분이라는 것을 알 수 있다.



위 내용을 보면 알 수 있듯이 From, Cc, Bcc 를 선택해서 메일을 보낼 수 있다.

From 은 메일을 보내는 사람

Cc(Carbon copy)는 메일의 참조인

Bcc(Blind carbon copy)는 메일의 숨은 참조인


따라서, 아래와 같이 Cc를 추가해서 메일을 보낼 경우 admin@webhacking.kr 이 받아보는 메일을 공격자도 받아볼 수 있도록 조작할 수 있다.




문제가 하드 코딩되어 있기 때문에 요구하는 값을 입력할 경우 아래와 같이 패스워드가 출력이 되고 문제를 풀 수 있다.




'Wargame > Webhacking.kr' 카테고리의 다른 글

Challenge 52  (0) 2015.09.06
Challenge 51  (0) 2015.09.05
Challenge 50  (0) 2015.09.05
Challenge 49  (0) 2015.09.03
Challenge 48  (0) 2015.08.31
Challenge 47  (0) 2015.08.31
Challenge 46  (0) 2015.08.29
Challenge 45  (0) 2015.08.28
Challenge 44  (0) 2015.08.28
Challenge 43  (0) 2015.08.28
Challenge 42  (0) 2015.08.28
댓글
댓글쓰기 폼
«   2020/07   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
링크
공지사항
Total
103,582
Today
1
Yesterday
64