Webhacking.kr 41번 문제를 풀어보자
41번 문제 클릭~
파일 업로드 할 수 있는 화면이 보인다
일단 소스 를 봐보자
index.phps 페이지가 존재하나 보다
index.phps 페이지를 보자
그럼 아래와 같이 Filename에서 몇가지 필터링하고 임시 디렉터리에 있는 File을 hidden_dir에 copy 함수를 이용하여
복사한다
그 다음 hidden_dir/File 에 password를 적어 준다
그럼 이 문제를 어떻게 풀어야 할까~~
일단 hidden_dir 을 알아내야 할 거같은뎅...
copy($cp,"$hidden_dir/$fn");
여기서 사실 몰랐는뎅
에러를 발생시켜 에러 메시지에서 확인 가능했다
일단 fn에 아무값도 넣지 않으려고 빈칸을 upload 하였지만 no라는 결과가 나왔고
replace 되는 ' . ' 을 upload 하였지만 역시 no라는 결과가 나왔다
잘 보니 $fn에 값이 없으면 eregi 에서 $fn 값이 없어서 no라는 결과가 출력되는거 같다
그래서 eregi 다음에 replace 되는 < 이거나 > 이것을 넣어 보았다
그랬더니 아래와 같이 copy 함수가 에러 메시지를 보여주고있다
copy 함수 에러 메시지에 hidden_dir의 위치가 노출되어있었다
hidden_dir의 위치를 알아냈으니
이제 정상적으로 파일 하나를 업로드 하자
그리고 hidden_dir/Filename 으로 이동하면
아래와 같이 41번 문제 인증 값이 나온다
이제 그 인증 값을 Auth에 입력하면
41번 문제는 클리어 된다~