Webhacking.kr 30번 문제 풀이~
30번 문제 550점 짜리인데
어떤 문제일까~~
30번 문제 클릭
힌트가 나오고 또 업로드 화면이 나온다
그냥 힌트를 클릭하면 내부 서버 에러가 나올 때가 있다
이럴 때는 .htaccess 파일을 한 번 업로드 한 후에 다시 클릭해 보자
업로드 된 .htaccess 파일에 문제가 있어서 Internal Server Error이 뜨는거 같다
upload/index.phps를 보면
mysql과 연결하여 select password from challenge_30_answer 라는 쿼리에 결과가 있다면
문제가 해결되는거 같다
일단 upload/index.php 파일을 보았다
아무~것도 나타나지 않았다
저 upload/index.phps에서 mysql을 해결해야하나 보다
일반적은 DB연결 같은데 저걸로 뭘 어케하라는 건지..
내가 webhacking.kr DB서버에 접근할 수도 없는거고...
생각해보니 아까 문제에서 .htaccess 파일을 업로드 하여
DB를 webhacking.kr의 DB가 아니고 내 쪽 DB로 접근하도록 설정한다
만든 DB에는 위 소스에서 필요한 정보만 넣어서 만들었다
Kali 리눅스에서 Mysql 설정을 해보았다
일단 외부 접근 하기 위한 설정
vim /etc/mysql/my.cnf
47 라인에 주소를 127.0.0.1 에서 자신의 IP로 변경
service mysql restart
혹시 모르니 apache 시작하자
이제 MYSQL 설정을 해야하는데
mysql 루트 패스워드 변경이 필요한 경우
https://www.linux.co.kr/database/mysql/root-passwd-change.htm
mysql 원격 접속 허용 변경
http://zetawiki.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9
요런 식으로 외부에서 접근을 허용시켜 주고
위의 upload/index.phps 페이지에서의 소스처럼 DB와 테이블 그리고 password 값을 넣어준다
(문제 풀이에 필요한 DB 생성)
(외부에서 DB 접근 허용 설정)
DB 설정은 잘 해보길 바란당..
DB 설정이 끝났으면
아래와 같이 .htaccess 파일을 업로드 한다
여기서
php_value mysql.default_host "외부 IP"
php_value mysql.default_user "root(아이디)"
php_value mysql.default_password "mysql(패스워드)"
를 사용 한다
http://php.net/manual/kr/function.mysql-connect.php
(참조)
업로드를 성공적으로 완료하고
upload/index.php 로 이동하면 아래와 같이 패스워드가 나온다
이제 이 패스워드를 Auth 페이지에 입력하면~
30번 문제 클리어~
공유기를 사용중이라 위와 같이 포트포워딩을 설정했다