webhacking.kr 41번 문제풀이
·
웹/웹 해킹 문제 풀이
41번 문제의 화면이다 view-source를 클릭하여 소스코드를 확인하자. 이전에 안보이던 php코드가 나왔다. 조사를 해본결과 에러를 출력하기 위한 php 코드이었다. php에서는 에러를 출력하기 위한 설정으로 2가지가 있다고 한다. display_errors = On 위에서 언급했던 첫번째 방법이 있으며 두번째로는 php.ini 파일안에 display_errors 항목을 on으로 설정하는 것이다. post방식으로 데이터를 전송하는 name 'up'의 값이 있으면 변수$fn에 업로드 파일의 이름을 저장하고 필터링한다. 임시 업로드 파일이름을 변수 cp에 저장하고 임의의 경로(upload_dir/fn)에 복사를 한다. 임의의 경로로 파일을 오픈하고 write하여 flag를 쓴다. 문제 접근 문제의 답인..