문제 페이지를 보면 hint로 소스 파일이 있고 파일을 업로드할 수 있다. 소스 파일을 보면 mysql 접속 부분이 생략되어 있고 mysql_fetch_array(mysql_query("select password from challenge_30_answer) 를 통해 데이터를 가져오면 패스워드가 출력이 된다. 하지만, 누군가가 설정을 해둬서 upload 디렉터리로 이동해보니 패스워드가 출력이 되어서 쉽게 풀 수 있었다. + 추가 직접 설정을 해서 문제를 풀어보기 위해서 .htaccess 파일의 내용을 비운 상태로 업로드해보니 패스워드가 출력되지 않았다.패스워드가 출력될 수 있는 조건을 만들어주기 위해서 자신의 데이터베이스 서버에 정보를 삽입해준다.데이터베이스명: challenge_30_table테이블명..
hint로 주어진 것들을 살펴보면 c29_tb 테이블에 password 컬럼이 존재하고, 파일 업로드 시 파일명에 .(dot)이 있을 경우 공백으로 치환된다. 처음에 먼저 do9dark.jpg 파일을 만들어서 업로드 해보면 위와 같이 Done, time, ip, file 문자가 표시가 된다. 다시 한번 같은 파일로 업로드 해보면 "파일이 존재합니다." 문자가 표시되어 이름을 do9.jpg로 변경해서 올려보면 위와 같이 이번에는 time, ip, file 에 대한 값들이 출력되는 것을 볼 수 있다. 그리고 파일명은 앞에서 말한 것과 같이 .(dot)이 공백으로 치환되어 표시가 된다. 그리고 파일명을 변경해서 올려보면 time, ip, file에 대한 값이 순서대로 추가로 표시가 되는 것을 알 수 있다. 그..
hint로 upload/index.php 파일이 있고 해당 파일 내용에 $pw 에 대한 값과 readme라는 글자가 있다는 것이 주어져 있다.(hint에서는 readme로 되어 있고 실제 파일 내용에는 read me라고 되어있다.)그리고 하단에는 파일을 업로드할 수 있는 기능이 있다. 먼저 upload/index.php 내용을 보면 read me라는 글자만 보인다.주어진 힌트를 토대로 생각을 해보면 파일 업로드 기능을 이용하여 .htaccess 파일(php_flag engine off)을 업로드해서 php 실행을 제거해서 $pw에 대한 값을 보면 되는 문제처럼 보였다. 실제로 임의의 파일을 업로드 하면 위와 같이 다른 힌트가 주어지고 앞에서 말한 대로 하면 문제를 풀 수 있다.