[webhacking.kr] old-11(300)
#문제
#확인사항
- $_SERVER[REMOTE_ADDR] = 현재 웹 서버에 접속하고 있는 IP 주소를 뜻함.
※ 집에서는 보통 네트워크를 사용하는 디바이스가 많으니, 공인 IP를 받아서 공유기로 다수의 사설 IP를 할당하여 사용할 것으로 판단된다. 그러니 ipconfig 결과로 나오는 IP와 내 공인 IP는 다를 수 있다. → 그냥 네이버에 "내 아이피" 검색해서 공인 IP 확인해보란 얘기다.
- $pat 변수의 내용 = 정규 표현식이 들어가 있고, 어떻게 쓰이는지는 아래에서 확인
- preg_match($pat, $_GET['val'])
1) preg_match 함수는 두 번째 인자의 값이 첫 번째 인자($pat) 패턴을 만족하면 참을 리턴한다.
2) $pat 변수를 풀기 위해 정규 표현식 일부 내용을 확인해보자.
2-1) [1-3] : 1에서 3사이 문자 1개
2-2) [a-f]{5} : a에서 f 사이 문자 5개
2-3) _ : 그냥 _ 문자
2-4) . : 개행 문자 외 모든 문자
2-5) * : 앞 문자를 0번 이상 반복 (실질적으로 의미없는 놈)
2-6) $_SERVER[REMOTE_ADDR] : 내 공인 IP 값
2-7) . : 개행 문자 외 모든 문자
2-8) * : 앞 문자를 0번 이상 반복 (실질적으로 의미없는 놈)
2-9) \t : 탭 문자
2-10) p : p 문자
2-11) \t : 탭 문자
2-12) a : a 문자
2-13) \t : 탭 문자
2-14) s : s 문자
2-15) \t : 탭 문자
2-16) s : s 문자
3) 조합하여 나온 값 : 1aaaaa_.본인의 공인IP 입력. p a s s
- 아래 URL 요청하여 문제 해결
https://webhacking.kr/challenge/code-2/?val=1aaaaa_.본인의 공인IP 입력.%09p%09a%09s%09s