티스토리 뷰

게시판 설치

게시판은 제로보드를 사용해 실습을 진행해보도록 하자.


제로보드

 - PHP로 작성된 공개게시판이고 , 무료였다.

 - 개발자가 NHN으로 넘어가면서 XE라는 새로운 웹 플랫폼을 만들었다.

 - 한때 엄청난 인기를 끌던 게시판 플랫폼. 요즘의 '워드프레스'와 비슷한형태의 툴이라 보면 된다.

 - 보안상의 문제로 현재는 제로보드 사용을 권장하지않는 추세이지만, 그렇더라도 여러 측면에서 잘 만들어진 툴이다.

 - 그 XE는 제로보드를 만들면서 있었던 보안이슈를 설계시부터 고려해서 만들었다고 하나, 

   제로보드만큼의 인기를 끌고있지는 못하는듯 하다.


따라서 우리는 취약점 분석이 목적이기때문에 제로보드를 이용하여 분석을 해보도록 하자.


zboard.tar


구버전의 제로보드를 다운받아 리눅스에 설치하도록 하자.


# 위에 첨부된 파일을 해당 경로로 이동한 뒤 드래그 앤 드롭으로 위치시켰다.






# 원본파일의 해시값이다. 제대로 전송되었는지 확인해보도록 하자.






#> tar xvf zboard.tar 로 압축을 풀어주도록 하자.






여기까지 진행한다음 우선 내 아이피주소에 접속하여 zboard 페이지를 확인해보자.

물론 httpd 와 mysqld를 활성화 시켜주고 진행해야한다.


# install.php에 접속해보면 문제점들이 발생한다. 


우선 php 구문법을 이용해 작성된 파일이므로 현재 http에서는 저당시의 php문법을 읽어들일수 없어

echo문 include문이 그대로 노출되고있다.


또한 인코딩문제때문에 한글이 깨지고있다.

먼저 간단한 인코딩문제부터 해결해보자.






# 크롬 사용자는 해당파일을 깔아 인코딩문제를 해결하자






# 설치 후 페이지 우클릭 → Korean(EUC-KR) 로 변경해준다.






# chmod 707 . 명령으로 zboard 폴더의 퍼미션 설정을 조정해주자.






그다음 php의 문법오류 등을 바로잡기위해 설정을 변경해 줄 차례이다.

#> vi /etc/php.ini 경로로 이동하여 설정을 변경해주자.


1). <? ?> 이 표시 문제를 해결하려면

 - short_open_tag = on







2). 무한 새로고침

 - register_globals 설정 On(일반변수도 슈퍼글로벌로 바꿔주는 역할)







# 화면이 잘 나오게 된다. 

설치시작을 눌러 진행하고싶지만, 내부 코드의 문제로 로그인이 되지 않는다.

버전이 맞지 않기때문에 생성에 실패하는것이다.






3). 로그인문제 : 배열의 실제 디폴트 크기가 달라 생기는 문제가 있다.

 - register_long_arrays 라는 설정을 통해 해결가능


# 아까 확인했던 register_globals 와 register_long_arrays 둘다 On으로 설정해줘야 한다.






그다음 제로보드 내부 파일 중 vi schema.sql 파일을 수정해주자.







이 파일은 함수 덩어리인데, 

create table 과 같이 테이블을 만들어주거나 여러 DB쪽 명령어를 포함하고있다.


테이블을 만들떄 버전이 안맞아서 생기는 문제가 두가지가 있다.

첫번째는 패스워드 필드의 크기

두번째는 문법이 안맞는 점



# 여기서도 패스워드를 md5방식으로 저장하고있는데, 20바이트로는 해시된 패스워드를 다 담을수가 없다.

이것을 모두 50바이트로 크기를 변경시켜주자.


#)_ 참고

:/password → [엔터] → 원하는 값 변경 후 다시 명령모드로 빠져나가서 n을 눌러서 다음으로 이동 하며 빠르게 변경 가능하다.






그다음 primary key 속성이 있는 모든 값을 다 찾아줘야한다.


# primary key 와 default 속성은 공존할 수 없다. 따라서 default '0'까지를 다 지워줘야한다.

앞에 붙어있는 unsigned 와 같은 내용도 지워줘야한다.






그다음 DB에 zboard 용 데이터베이스를 생성해주자







그 다음 페이지로 돌아가서 정보 입력 후 설정완료를 눌러주자.


# 설정완료 눌러주면



# 관리자 모드가 뜨는건 제로보드의 관리자를 입력하는거다.


여기서는 편의상 admin / 1234 / admin 으로 가입하겠다.


# 여기가 관리자페이지이다. 로그인을 하고 접속해주면



# 그룹을 하나 추가해줘야한다.



# 그다음 보드도 하나 만들어주도록 하자. 위와같이 설정해준다.



# 자료실 기능도 설정해주자. 그다음 컨펌 눌러서 웹보드 생성을 마치자.

관리자페이지에서는 멤버들에대한 모든 권한을 수정할 수 있다.



/zboard.php?id=vul

로 접근해줘야 관리자가 아닌 멤버로의 게시판이 접속 가능하다.





댓글
댓글쓰기 폼
공지사항
Total
290,627
Today
19
Yesterday
32
링크
TAG
more
«   2022/08   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
글 보관함