문제 페이지를 보면 파일 목록이 출력되어 있고 하단에는 hello world 라는 문자열이 출력되어 있다. 그리고 url에 보면 ?file=hello 라고 되어 있는데 아마도 파일 목록 중에서 hello.txt 파일의 내용을 출력해주고 있는 것 같다. (확장자 .txt는 서버에서 붙여서 파일 내용을 불러오는 구조) 이를 이용하여 password.php를 보기 위해서는 ?file=password.php를 한 다음에 .txt를 제거하기 위해서 %00(null) 문자를 붙여서 입력하면 password.php 파일의 내용을 볼 수 있다.
TABLE: temp실험에 사용한 임시테이블mysql> SELECT * FROM temp;+------+----------+------+| no | id | pw |+------+----------+------+| 2 | ant | 6666 || -2 | bear | 5555 || 3 | cat | 4444 || 0 | dog | 3333 || -3 | elephant | 2222 || 1 | fox | 1111 || -1 | goat | 0000 |+------+----------+------+7 rows in set (0.00 sec)cs - WHERE 조건 뒤 숫자 1(참이 될 수 있는 값, true, 0x01, 0b01)을 주면 모든 값을 출력mysql> SELECT * FROM temp WHER..
문제 페이지에 접속을 하면 IP와 User-agent 정보가 출력이 된다.다른 정보를 얻기 위해서 소스 코드를 보면 index.phps을 통해 소스 파일을 제공하는 것을 알 수 있다. 소스 코드를 보면 $_COOKIE[REMOTE_ADDR]=127.0.0.1 이 되면 문제를 풀 수 있다는 것을 알 수 있다.하지만 코드 중간에 보면 '12', '7.', '0.' 의 값들을 공백으로 대체하도록 되어 있다. 이를 우회하기 위해서 대체되는 문자 값 사이에 대체되는 값을 삽입하여 대체가 되면서 127.0.0.1 이 되도록 작성하면 문제를 해결할 수 있다. document.cookie="REMOTE_ADDR=112277..00..00..1";위와 같이 값을 입력하고 새로고침을 하면 된다.