[목차]
1. APM 이란
2. APMSetup 설치 (PHP 실습용)
- 한글 인코딩 설정
3. tomcat 설치 (JSP 실습용)
- JAVA_HOME & JRE_HOME 환경변수 등록
- 버프 연결을 위한 포트 수정
- 버프 localhost 잡기 설정
- 계정 설정
1. APM 이란
Apache : Web server (정적 자원을 처리)
PHP : Server Side Script (동적 자원을 처리)
MySQL : RDBMS (관계형 데이터베이스)
Apache 웹 서버와 PHP 모듈이 연동,
합쳐짐으로 Web Application 기능을
할 수 있게 된다.
원래 하나씩 설치 후
별도로 연동 작업을 해줘야 하는데
이 번거로운 작업을 일괄 처리해 주는
프로그램이 APMSetup (또는 AutoSet)!
APMSetup은 2006년
Shiftworks(현, SEworks)의
이근상(okstart) 님이 개발한 프로그램인데
공식 사이트에서 배포를 중단했기 때문에
구글링을 통해 알아서 구하던가
다운로드 경로 :
https://www.comcbt.com/xe/comtip/2642491
APMSetup은 윈도우 7,
32비트로 지원되어 혹
윈도우 10 이상 64비트 환경으로
진행하려면 AutoSet으로 깔아
진행하면 됨!
2. APMSetup 설치
1) APMSetup.exe 실행
Default 경로인
C:\APM_Setup
에 설치!
# 참고!
설치 후 APMSetup Monitor를 실행하면
아래와 같이 '오류가 발생했다',
'업데이트할 거냐' 물어보는데
무시하고
실행 중인 프로세스 살펴보면
둘 다 잘 깔렸고
둘 다 정상 동작하며
둘 다 정상 제어 가능함!
점검을 위해
웹 브라우저에서
로컬에 붙어보면
(localhost 또는 127.0.0.1)
APMSetup 정상 설치 완료!
2) 디렉터리 확인
htdocs가 웹 디렉터리!
3) 웹 디렉터리 업로드 테스트
php 파일 생성 후
붙어보면
스크립트가 정상 실행되나 한글이 깨짐!
> my.ini 파일 설정을 추가해 줘야 한다!
# 한글 인코딩 설정
크롭 웹 스토어에서 플러그인 받아 깔고
깨진 페이지에서
마우스 우 클릭 후
원하는 인코딩 설정 선택해 주면
정상 반영됨!
# 정석은
ㄱ. C:\APM_Setup\Server\MySQL5\data 경로에서
my.ini 파일 우 클릭 후
속성 > 편집 > Users > 모든 권한 > 확인
수정 권한 부여 후
ㄴ. 설정 추가
my.ini 파일을 메모장으로 열어
아래 각 항목에 설정 추가!
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake //클라이언트 설정 무시 (모든 값이 utf8 인데도 깨지는 경우 설정)
[mysql]
default-character-set=utf8
추가 완료되었으면
파일 저장 후 복사한 뒤
ㄷ. 설정 파일 추가
C:\APM_Setup\Server\MySQL5 하위에 복사
(원래 MySQL5 디렉터리에는 my.ini 파일이 없음!)
ㄹ. MySql 재시작
하면 된다는데
내 경우 여전히 깨졌음!
4) PHP-MYSQL 연결 확인 테스트
php 파일 생성 후
<?
$conn = new mysqli("127.0.0.1", "root", "apmsetup");
if($conn->connect_errno) {
echo "[-] DB Connection Failed";
} else {
echo "[+] DB Connection Success";
}
?>
붙어보면
정상 연결 확인!
만약 로컬 접속이 아닌
다른 외부 IP 대역에서 테스트를 진행할 경우
Apache가 설치된 환경의 로컬 방화벽
인바운드 정책에서 80 포트를 허용하면
접근이 가능함!
5) MySQL DB 접속 방법
1) http://127.0.0.1/myadmin/ 접속하거나
default 계정 정보 : root / apmsetup)
2) 모니터링 아이콘 우 클릭 > MySQL 콘솔 실행
또는
3) 커맨드 프롬프트에서 바로 접속
C:\> mysql -uroot -papmsetup
접속한 뒤 원하는
테이블 생성해주면 됨!
3. tomcat 설치
1) 다운로드
installer 말고 바로 실행 가능한 파일 다운로드
2) 서비스 인스톨 및 실행 테스트
매뉴얼: https://tomcat.apache.org/tomcat-8.5-doc/windows-service-howto.html
압축 푼 뒤 명령 프롬프트 열고
경로 접속 후 하단 명령어 실행
(본인경로\apache-tomcat-8-win64\apache-tomcat-8.5.84\bin)
$ service.bat install
tomcat8w.exe 파일 실행 후 Start 하면
실행이 안 되고 멈추는데
원인을 살펴보면
JAVA_HOME 또는 JRE_HOME
환경변수 설정이 안 되어 있기 때문!
#JAVA_HOME 설정
1) 자바 jdk 디렉터리 경로 확인 (버전은 호환되는 것 알아서 선택)
2) 환경변수 메뉴 진입 후
(windows key + r > sysdm.cpl ,3)
아래와 같이 설정
#JRE_HOME 설정
1) 자바 jre 디렉터리 경로 확인
2) 동일하게 환경 변수 설정
JAVA_HOME & JRE_HOME 모두 설정 완료!
다시 톰캣 컨트롤러를 기동 후 스타트를 해보면
여전히 실행이 안 되고 멈추는데
커맨드 프롬프트로 스타트 해주면
환경변수 설정이 잘 반영되어
서버가 정상 기동되며
붙어보면 (127.0.0:8080)
정상 접속 확인!
# 추가 환경변수 등록
매번 경로를 찾아 들어가 실행시키기 귀찮으니
톰캣 디렉터리의 bin 디렉터리를 환경변수에 등록해 준다.
1) 환경변수 > 시스템변수 > 새로 만들기
변수 이름 = CATALINA_HOME 또는 아무거나
변숫값 = 톰캣 디렉터리 경로
2) Path 변수 편집
bin 디렉터리 추가
%CATALINA_HOME%bin
[참고]
위 과정 중 "1)" 과정을 생략하고
바로 Path 편집 후 톰캣 풀 경로 입력 시
명령 프롬프트에서 정상 실행이 안 되는데
이유는 경로에 한글이 포함되어 있기 때문!
따라서 톰캣뿐 아니라 다른 경로
환경 설정이 필요한 경우에 이를 참고하여
동일한 방법으로 진행해 주면 된다.
3) 테스트
명령 프롬프트에서 경로 설정 없이 바로
startup.bat 해주면
정상 실행 확인!
# 웹 ROOT 디렉터리 확인
tomcat > webapps > ROOT
ROOT 경로 내
WEB-INF를 제외하고는
모두 삭제해도 상관없다.
# 테스트
샘플 파일 생성 후
붙어보면
성공!
3) 버프 연결을 위한 포트 수정
tomcat > conf > server.xml
설정 수정
8080을 8081로 바꿔주고
서버 재실행 후 붙어보면
정상 변경 완료되었고
# 버프로 localhost를 잡으려면
프록시 설정 > 예외 처리 부분에
<-loopback> 설정 추가해 주면 됨!
혹 별도의 프록시 플러그인으로
제어하는 경우, 추가로 설정
이제 붙어보면
잘 잡힌다!
4) 계정 설정
톰캣 설치 후 manager 경로에 붙어보면
로그인 창은 뜨지만
계정 설정이 안 되어 있어
사실상 기능이
비활성화되어 있는 것과
마찬가지!
# 사용자 설정 파일 수정
톰캣 > conf > tomcat-users.xml
파일 접근 후
하단 정보 추가!
<user username="takudaddy" password="takudaddy" roles="manager-gui"/>
서버 재기동 후 계정 정보를 입력하면
정상 접속 완료!
# 이후 WAR로 묶어서 배포(deploy)가 가능!
- 생성 후
c:> jar -cvf takudaddy.war cmd.jsp
업로드 해준 뒤
접근해 쉘 실행하면 됨!
이로써 실습 환경 구축이 완료되었다.
PHP는 APM으로,
JSP는 톰캣으로 진행하면 된다!
'WEB 진단 > WEB 진단' 카테고리의 다른 글
[+] 파일 업로드 실습 환경 구성 (기초) (0) | 2023.01.11 |
---|---|
[+] 파일 업로드 실습 환경 구축 (리눅스) (1) | 2023.01.11 |
[+] 파일 업로드 취약점 (심화 - 업로드 경로 변조 실습 / 리눅스 / 총합본)* (0) | 2023.01.10 |
[+] 파일 업로드 취약점 (심화 - 업로드 경로 변조 실습 / 윈도우)* (0) | 2023.01.09 |
[+] 파일 업로드 취약점 (심화 - 업로드 경로 변조 실습) (0) | 2023.01.09 |