
메인 화면은 위와 같고, 소스는 별거 없습니다

메일 폼은 post 방식이며 input 박스의 최대 길이는 50이라는 것!
일단 그대로 send 버튼을 눌러볼게요

이런 게 뜹니다

또 넣어보려고 하니 10초 제한이 뜨네요^^

10초가 지난 뒤 flag?라는 문자열을 넣어보니 위와 같이 떴습니다.
표시된 날짜와 시간은 임의로 정해진 것 같네요
도대체 눈치가 안와서 구글링을 해보고 "Mail Header Injection" 문제라는 것을 알아냈슴다..
PHP에서 메일을 보내는 함수, 즉 mail()은 다음과 같은 인자를 갖는데요
mail(수신자, 제목, 내용, 옵션)
여기서 옵션은 헤더라고도 하고, 이 헤더 부분을 조작하는 공격이라 Mail Header Injection인 겁니다
이제 헤더에 무언가를 추가하여 변조해볼텐데요, 크게 From, Cc, Bcc 등을 넣어볼 수 있어요
여기서 우리는 메일을 받는, 즉 수신자에 관한 참조를 봅시다.
수신하는 주소에 관한 필드는 3가지가 있는데 다음과 같습니다.
To: 받는 사람
Cc(Carbon Copy): 받는 사람 외 해당 메일을 참조하는 사람
Bcc(Blind Carbon Copy): 받는 사람 외 해당 메일을 "송신자만 알게" 참조하는 사람
저는 Bcc를 이용해서 숨은 참조인에 제 메일 주소를 넣어보도록 하겠습니다
일단, Bcc 삽입을 위해 인풋 박스에 개행을 할 수 있도록 해야 합니다

text 타입의 인풋 박스를 textarea로 변경했습니다.


그럼 이제 여기에 Bcc 변조를 넣어볼게요

다음은 send 버튼을 누른 뒤 이동한 페이지입니다

레드라인 위에는 Blah Blah~라고, 제가 친 내용이
검정 박스에는 제 메일 주소가 있습니다
가장 밑에는 Mail has been sent라는 문구도 적혀있어요
Bcc를 이용해 no-existed@webhacking.kr에게만 보내져야 했던 메일이, 저한테도 오게 된 것이죠
..그런데 메일함에는 아무 것도 없었습니닼..
다시 시도해봐도 감감x소식
그래서 혹시 몰라 gmail 대신 naver를 넣어봤어여

바로 왔습니다!

'Wargame > webhacking.kr' 카테고리의 다른 글
Challenge old 51 (250) (1) | 2020.02.11 |
---|---|
Challenge old 48 (350) (0) | 2020.02.11 |
Challenge old 46 (300) (0) | 2020.02.11 |
Challenge old 38 (100) (0) | 2020.02.04 |
*Challenge old 37 (250) (0) | 2020.02.04 |