WarGame/WebHacking.kr
webhacking.kr 30번
DoR@Hee
2019. 2. 20. 21:04
문제 첫 화면 fileupload 취약점을 이용한거같다.
아무 파일이나 업로드 했을 때 Done이 나오는걸봐서는 도저히 모르겠다. hint를 보자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <? mysql_connect() or die(); mysql_select_db("challenge_30_table") or die(); $q=mysql_query("select password from challenge_30_answer") or die(); $data=mysql_fetch_array($q) or die(); if($data) { $pw="????"; echo("Password is $pw"); } ?> -- mysql 관련 함수는 보안 문제상 현재 사용하지 않는 함수이며 mysqli, pdo를 사용한다. mysql_connect() -- mysql에 연결하는 함수이며 mysql_connect('localhost(서버주소)','아이디','비밀번호'); 로 사용한다. mysql_select_db() -- db에 연결하는 함수이며 mysql_select_db("db이름")을 이용해서 사용한다. mysql_query() -- INSERT, UPDATE, DELETE, DROP 등에서 성공하면 TRUE를, 실패하면 FALSE를 반환 mysql_fetch_array() -- 쿼리의 따른 값을 배열로 반환한다. | cs |
클라이언트에 mysql를 접속하는거같은대 여기서 문제는 어떻게 클라이언트에 접속하는지 문제였다.
구글링을 해본 결과 이전 문제에서 풀어보았던 ..htaccess파일로 접속을 할 수 있다는걸 알게 되었고.
.htaccess 파일에
php_value mysql.default_host "외부 IP"
php_value mysql.default_user "root(아이디)"
php_value mysql.default_password "mysql(패스워드)" 입력 후 db생성 후 문제풀이를 하면 될거 같다.
.htaccess파일을 업로드 할 결과 에러가 발생했고, 이유를 찾아보니 현재 에러로 인해 풀 수 없는 상태이다.