NCS보안3기/웹 해킹2017. 6. 7. 21:19

테스트 페이지는 git을 이용해 다운로드 받는다.

그러기 위해 터미널을 열고 다음 명령어로 git을 설치한다.

sudo apt-get install git


git 설치가 완료되면 다음 명령으로 clone 한다.

git clone https://github.com/ppkill00/web_html_template


web_html_template 디렉터리 안에 있는 예제 파일을 /var/www/html 디렉터리 안에 옮겨야 한다.

그 전에 /var/www/html에 있는 index.html, index.php는 다음 명령어로 먼저 지우도록 하자.

sudo rm /var/www/html/index.html

sudo rm /var/www/html/index.php


다음 명령어로 web_html_template 디렉터리에 있는 모든 파일 및 디렉터리를 /var/www/html 디렉터리로 옮긴다.

sudo mv ./web_html_template/* /var/www/html


다음 명령으로 /var/www/html 디렉터리로 이동하자.

cd /var/www/html


index.php는 다음과 같이 수정한다.


index.php에서 user_db 라는 이름의 테이블과 board 라는 이름의 테이블을 사용하는 것을 볼 수 있다.

즉, MySQL에 user_db 테이블과 board 테이블이 있어야 한다.


main.php는 다음과 같이 생성한다.


/var/www/html/config 디렉터리에 있는 config.php는 다음과 같이 수정한다.


config.php에서 mysql 데이터베이스와 연동한다.

database는 "hack01"이고 user는 "root"이다.

password는 설정한 값을 적어주면 된다.


코드를 보고 MySQL 유저는 root가 있어야 하고, hack01 이라는 이름의 데이터베이스가 존재해야 하며 해당 데이터베이스 안에 user_db 테이블과 board 테이블이 있어야 한다.


터미널에서 다음 명령어로 MySQL 서버에 접속한다.

mysql -u root -p


패스워드를 입력하면 접속이 된다.


- hack01 데이터베이스 생성

mysql> create database hack01;


- hack01 데이터베이스 접속

mysql> use hack01


- user_db 테이블 생성

mysql> create table user_db(
            id varchar(32) character set utf32 collate utf32_unicode_ci not null,
            pw varchar(32) not null,
            authtime varchar(32) not null
            )ENGINE=InnoDB default charset=utf8;

- board 테이블 생성

mysql> create table board(
            no int unsigned not null primary key auto_increment,
            id varchar(32) character set utf32 collate utf32_unicode_ci not null,
            content text not null,
            time datetiem not null
            )ENGINE=InnoDB default charset=utf8;



- 파일 업로드 추가

mysql> alter table board add(filepath varchar(50));


데이터베이스 설정이 모두 완료가 되면 config.php에서 root 계정의 패스워드를 작성한다.


이로써 모든 구축은 완료가 되었다.

웹 브라우저로 127.0.0.1 에 접속해 보면 다음과 같은 페이지를 볼 수 있다.



join 버튼을 눌러 id, password를 작성하면 다음과 다음과 같이 main.php로 넘어간다.


입력창에 아무거나 입력하고 Write 버튼을 누르면 다음과 같은 화면을 볼 수 있다.



Posted by Imp3rio