webhacking.kr 25번 [150p]
Hello word라고 적혀 있습니다. 뭐 아직까지 알수 없으니.. 소스코드를 확인해 보겠습니다.
소스코드에도 뭐… 없습니다.
다시 시작화면으로 돌아와서 보니 URL이 조금 이상합니다.
http://webhacking.kr/challenge/bonus/bonus-5/?file=hello
file=hello라고 적혀 있습니다. 하지만 확장자가 없습니다. 이 점을 유심히 확인하면서 file=index.php를 입력해 보겠습니다.
변화가 없네요.. Index.php는 확실하지 않으니 password.php를 중점으로 잡고 풀이를 진행 하겠습니다.
결과는 여전히 같습니다.
음… 한번 소스코드를 예상해 보면..
hello.txt에서 .txt가 없는 걸 봐서 혹시 이런 소스코드이지 않을까 예상해 봅니다.
If(file=hello){
location.href(http://webhacking.kr/challenge/bonus/bonus-5/?file=hello + ".txt")
}else if(file=index.php){
location.href(http://webhacking.kr/challenge/bonus/bonus-5/?file=index.php + ".txt")
}else if(file=password.php){
location.href(http://webhacking.kr/challenge/bonus/bonus-5/?file=password.php + ".txt")
}else{
location.href(http://webhacking.kr/challenge/bonus/bonus-5/?file=hello + ".txt")
}
위처럼 file= 뒤에 입력한 값에 .txt가 붙어서 인식을 한다면 hello에 확장자가 없는 것도 이해가 됩니다.
그렇다면 입력을 할때 문자열 뒤에 NULL값을 넣어서 그 뒤의 문자열을 지운다면? 이라는 생각으로 NULL을 뜻하는 %00을 붙여봤습니다.
정답이 나왔습니다. 혹시 index.php에는 무슨 파일이 들어있을지 궁금해서 입력을 했는데…
!!!!! 안에 들어있는 값이… hello world였습니다
password먼저 안 보고 index부터 봤다면.. 못 맞출 뻔 했습니다.