티스토리 뷰
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 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 |