< http://webhacking.kr/challenge/bonus/bonus-11/index.phps > 로 들어가 보면 소스가 뜬다.
PHP mail() 함수
: mail(받는사람, 제목, 내용, 옵션)
php의 mail()함수의 내용을 해석해 보면
admin@webhacking.kr 에게 'readme'라는 제목으로 "password is $pass" 내용을 보내라.
뒤에 $header 이 무슨내용인지 모르겠다.
문제 페이지에서 mail header injection 이라는 hint 가 있었다.
mail header injection에 대해 찾아보았다.
Cc(숨은 참조자)의 역할이 중요하다고 한다.
숨은 참조자는 숨은 참조자로 지정해준 메일의 주소로도 메일이 날라가게 하는 것이다.
URL 인코딩으로 고쳐주면 될 것 같다.
URL 인코딩은 문자를 오직 ASCII코드로 바꿔 보내주는 것 같다.
그런데 웹에서의 값을 어떻게 바꿔 보내줄 수 있을까?!
'피들러'를 이용하면 된다고 한다.
이메일 창에 내 아이디를 넣어 보내보았다.
왼쪽편에 창이 하나더 뜨고 클릭한 다음 오른쪽에 inspertions 안에 Raw에 들어가 보니 밑에
email=oyeahhh%40naver.com이 생겼다.
composer창으로 들어가서 Request Body부분에
Cc:oyeahhh%40naver.com을 추가 하고
오른쪽 위에 Execute를 눌었다.
그랬더니 왼쪽편에 새로운 hppt가 생겼다. body는 399로 다른것들과 달랐다.
클릭해서 Webview에서 보면 밑에 Password is 하고 뜬다.
password를 Auth에 입력하면 된다!
피들러의 사용법을 몰라서 고생을 했다.
피들러 사용법 설명이 잘 된 동영상이 있어서 보고 참고하면서 했다.
http://www.youtube.com/watch?v=gXRzR-YU35c
'Web Hacking' 카테고리의 다른 글
Challenge 15 (0) | 2015.02.27 |
---|---|
Challenge 25 (0) | 2015.02.27 |
Challenge 4 (0) | 2015.02.27 |
Challenge 14 (3) | 2014.10.01 |
challenge 6 (5) | 2014.10.01 |