일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sample_n()
- proc contents
- summarize()
- distinct()
- select()
- arrange()
- 대칭형 알고리즘
- filter()
- samp;e_frac()
- dplyr
- mutate()
- groupe_by()
- AES
- Today
- Total
Gae Ko's Blog
[webhacking.kr] challenges47 아직 ㅠ 본문
문제페이지의 소스코드
index.phps로 이동해본다.
if문을 보면 email값이 POST방법으로 전송되면 mail함수를 실행한다고 한다.
mail함수란?
이메일을 보내는 함수로
bool mail ( string $to
, string $subject
, string $message
[, string$additional_headers
[, string $additional_parameters
]] )
형식으로 사용된다.
to : 메일 수신자
subject : 보낼 이메일의 제목
message : 보내질 메세지
additional_headers : 이메일 헤더 마지막에 추가될 문자열
헤더를 추가하기 위해서 사용. 헤더부분에는 From, Cc, Bcc등을 추가할 수 있고 여러 추가 헤더는 \r\n 으로 구분해줘야함.
cc( carbon copy, 참조) : 수신자 외 다른 사람에게도 수신
bcc(blind carbon copy, 숨은참조) : 수신자 외 다른 사람에데고 수신(수신자에게 보이지 않음.)
다시 문제로 보면 문제에 사용되는 mail함수를 통해 제목이 "readme"이고 내용은 "password is $pass"인 메일을 admin@webhacking.kr이 받는다는 것을 알 수 있다.
그리고 추가옵션인 헤더정보가 있는데
$header="From: $_POST[email]\r\n";
→ 즉 문제의 코드를 정리해보면
email값을 POST방식으로 보내면 password가 admin@webhacking.kr로 보내진다고한다. 그런데 내가 알아야하는건 password이고 내가 입력하는 메일값은 mail함수를 통해 보내는 이가 된다.
그러니까 내가 받는이가 되고싶은데.....
mail header injection 에 대해 알아보자 ㅠㅠ
$header를 통해 어떤사람이 메일을 보냈는지 알려줌 그리고 cc(숨은참조자)로 지정해준 메일의 주소로도 메일이 보내짐
From : 어쩌고@naver.com (줄바꿈)
cc : hacker@email.com
이렇게 해보았지만
안된다.
00
][
'웹해킹 > [webhacking.kr] ' 카테고리의 다른 글
[webhacking.kr] challenges23 (0) | 2017.12.04 |
---|---|
[webhacking.kr] challenges11 (0) | 2017.12.04 |
[webhacking.kr] challenges52 아직 ㅠ (0) | 2017.11.20 |
[webhacking.kr] challenges38 (0) | 2017.11.19 |
[webhacking.kr] challenges42 (0) | 2017.11.07 |