System 해킹을 공부하기에 앞서
실습환경을 구성해본다.

구성할 리눅스 버젼은 Red Hat 6.2 버젼으로 아주아주아주아주 오래된 버젼이다.
간단한 버젼으로 시스템에 입문할 것이다.

Red Hat은 오래된 리눅스이기도 하고 부팅에 문제가 있을 수 있다.
그래서 부팅할 때 맨 처음에 linux-up 이라고 입력을 해주면 된다.




(부팅 요령)



그 후 호스트 이름을 바꿔 줄 것이다.



(/etc/sysconfig/networ)




호스트 이름을 TFA로 바꿔주었다.



(호스트 이름 변경)




그 후 원격 쉘을 이용하여 공부할 것인데 연결이 가능하도록 만들어 줄것이다.
지금 설치된 Red Hat에 PAM 설정이 되어있기 때문에 몇가지 설정 파일을 수정해주어야 한다.

먼저 /etc/securetty에서 원격 터미널을 넣어주어야한다.




(/etc/securetty 설정 파일)




(pts 추가)



pts 는 원격 터미널로 8개 까지 채워준다.

그 후 pam.d 디렉토리에서 login 설정 파일을 수정해 줄 것이다.



(/etc/pam.d/login)




(pam_securetty.so 주석)




맨 윗줄을 주석처리해준다.

그 후 Xshell 에서 원격으로 로그인 할 수 있었다.



(원격 접속)




그 후 기본적으로 Red Hat에 있는 어셈블러가 아닌
인텔 기반의 어셈블러로 공부하기 위해 따로 nasm을 설치 해주었다.



(nasm 다운로드)




그 후 설치해준다!



(설치1)




(설치2)



설치 후 nasm cp 명령으로 /usr/bin 에 복사해준다.
이유는 PATH 경로에 넣기 위해서이다. 어디서든 nasm 명령어로 사용할 것이기 때문이다.



(cp)




그 후 nasm 명령어를 입력하면 명령어로 입력되는 모습을 볼 수 있다.



(설치 완료)




이로써 시스템 공부할 실습환경을 만들었다.




제로보드 설정까지 완료했으므로
이제 제로보드를 이용하여
게시판을 만들어보겠다.

관리자 계정으로 로그인 하고
왼쪽 상단에 Add Group을 눌러준다.




(Add Group 클릭)



클릭 후 그룹 이름을 써주고
확인을 누른다. (기본으로 설정해준다.)



(그룹 생성)



그룹이 생성된 모습이다.



(그룹 생성 모습)



여기서 왼쪽 상단에 게시판 항목에 Add를 클릭한다.



(게시판 Add)



게시판 Add 입력 항목이다.
여기서 이름을 작성해주고
기본 보호 설정을 해제 해 줄것이다. (먼저 웹 취약점을 공부하기 위해서)




(게시판 작성 페이지)



HTML 설정을 모두 허용으로 바꾸어준다.



(HTML 설정)



업로드 기능을 체크하여 자료실 기능을 사용으로 바꾸어준다.




(업로드 허용)



그리고 게시판 생성을 누르면
아래와 같이 게시판이 생성된 모습이 보인다.



(게시판 생성 후 모습)



이 페이지는 게시판의 목록을 볼 수 있다.

방금 우리가 만든 게시판을 확인해보자.

Preview를 클릭하여 본다.



(게시판 모습)



우리가 제로보드를 이용하여 만든 게시판의 모습이다.

회원가입을 하여 글을 작성해보겠다.! (테스트)



(회원가입)



그 후 로그인 하여 글을 작성해보겠다.



(글 작성)



보면 글이 잘 써지는 걸 확인해 볼 수 있다.




(작성된 모습)



글 목록에서도 보인다!



(게시판 목록 모습)



여기까지 게시판을 만들었다.

이제 이 게시판을 이용하여 웹 취약점을 살펴 보겠다. :)





Web Hacking - 실습환경 웹서버 구축(제로보드)(1) 에 이어서 웹서버를 설정할 것이다.

install.php 경로로 들어오면 아래와 같은 화면이 나온다.




(707 퍼미션 요구 화면)



빨간 글씨로 707 퍼미션이 되어있지 않다고 나와있다.

zboard 디렉터리의 권한 설정을 해준다.
#> chmod 707 zboard



(권한 설정 화면)




위와 같이 설정이 잘되면
아래와 같이 빨간 글씨가 사라지고 설치 시작 버튼이 나온다.



(설치 시작 화면)



클릭을 해주면
아래와 같이 입력하는 란이 나오는데
여기서 아직 우리가 DB를 만들지 않았다.



(입력 화면)



zboard DB를 만들어보자!

먼저 mysql에 접속해준다.



(mysql 접속)



접속 후 show databases; 명령어를 이용하면
현재 있는 DB가 보인다.



(현재 DB)



여기서
create 명령어를 사용하여 zboard라는 DB를 만들어준다.



(DB 생성)



다시
show databases;
명령어를 이용하여 현재 DB를 확인해보면
zboard가 생성된 것을 확인 할 수 있다.



(생성된 DB)



자 생성해주고!
입력을 해주고
설정완료를 눌루면 다음과 같이 에러가 나온다.



(에러 화면)



위 에러는 우리가 지금 옛날 버젼의 zboard를 쓰기 때문에
쿼리 명령문중 바뀐 내용이 있기 때문이다.

우리는 그 명령문을 수정해 줄 것이다.

수정해줄 파일은
zboard 디렉터리 안에있는 schema.sql 파일이다.



(vi 편집기로 schema.sql 열기)




vi 편집기로 schema.sql 을 열어준다.

그리고 수정해주어야 할 것!

1. password varchar(20) -> password varchar(50)
옛날에는 20사이즈면 충분했지만 더 길어진 해쉬값으로 50까지는 늘려주어야한다.



(password 사이즈 수정)



파일 안에 있는 varchar 사이즈를 50으로 바꾸어준다 전부! (password만)

2. primary key는 default 값이 될 수 없다. 하지만 옛날 버젼에서는 가능했는지 다음과 같은 명령 구문이 들어있는데 이 둘이 충돌이 되기 때문에 삭제해주어야한다.
primary key는 사용할 것이기 때문에 default '0' 만 삭제해 준다.




(default '0' 삭제)




(삭제된 모습)



이렇게 primary key와 충돌하는 default 값을 전부 지워준다.

그렇게 되면 아래와 같이
에러없이 넘어갈 수 있다.

그러면 다음 칸에 아이디, 패스워드를 입력하고 [정보입력완료]를 누르면 된다.




(관리자 정보 입력)



그 후 관리자 계정과 비밀번호로 접속해 준다.


(관리자 계정 접속)



그러면 아래와 같이 관리자 페이지가 나온다.




(관리자 페이지)



여기까지가 제로보드 서버 구축 및 설정이다. :)

+ Recent posts