Day 16(2025.07.10.THU) - 계정 추가(word, gnu, dvwa), Win7
header.php - 보안 설정 추가(보안 설정한 거 체크할 수 있는 페이지 구축)
- 계정 추가 -
dvwa.geumsol.kr
gnu.geumsol.kr
word.geumsol.kr
- Win -
DNS 관리자 - word, gnu, dvwa 추가해주기
- Kali -
- 위(Kali) -
ping word, gnu, dvwa geumsol.kr
nslookup word, gnu, dvwa geumsol.kr
firefox - dvwa geumsol.kr(apache-웹서버, 한글 깨짐 해결하기)
- 아래(ssh -p 2222 master@geumsol.kr) -
su - cd /home - ls 계정 확인
cd /etc/apache2/sites-available - ls(디폴트 기능 내리고 hosting.conf에 넣어주기)
nano hosting.conf 계정 추가해주기
DocumentRoot /home/dvwa/public_html
ServerName dvwa.geumsol.kr
ServerAdmin dvwa@st.geumsol.kr
ErrorLog /home/dvwa/public_html/logs/error.log
CustomLog /home/dvwa/public_html/logs/access.log combined
DocumentRoot /home/word/public_html
ServerName word.geumsol.kr
ServerAdmin word@st.geumsol.kr
ErrorLog /home/word/public_html/logs/error.log
CustomLog /home/word/public_html/logs/access.log combined
DocumentRoot /home/gnu/public_html
ServerName gnu.geumsol.kr
ServerAdmin gnu@st.geumsol.kr
ErrorLog /home/gnu/public_html/logs/error.log
CustomLog /home/gnu/public_html/logs/access.log combined
a2dissite 000-default.conf
a2ensite 000-default.conf
systemctl restart apache2
에러 해결!
dvwa, gnu, word 각 계정마다 public_html/logs 안에 log 만들어주기
mkdir logs - cd logs - touch access.log, touch error.log
각 계정별 설정
chmod 711 $HOME
chmod 755 /home/dvwa/public_html
chmod 711 $HOME
chmod 755 /home/word/public_html
chmod 711 $HOME
chmod 755 /home/gnu/public_html
문제
Apache를 사용하는 리눅스 웹서버에서 /home/competition 디텍토리는 웹으로 접속이 가능하며 경쟁 업체의 정보를 담고 있음.
사내에서만 사용하는 PC의 IP Address는 "192.168.123.112"임.
접속되도록 하기 위한 설정 과정을 답안란에 기술하시오.
정답
Options Indexes MultiViews /* 디렉터리 리스트 출력 및 다중 뷰 기능 활성화 */
AllowOverride None /* .htaccess 파일에서 설정을 덮어쓰지 못하도록 제한 */
Order Deny, Allow /* Deny 우선, Allow 나중(하지만 Allow from이 Deny보다 우선됨) */
Allow from 192.168.0.1 /* 해당 IP에서만 접근 허용 */
Deny from all /* 모든 사용자 차단 (하지만 Allow from이 더 우선됨) */
win - competition dns 추가해주기
su - adduser competition - nano /etc/apache2/sites-available/hosting.conf
DocumentRoot /home/competition/public_html
ServerName competition.geumsol.kr
ServerAdmin competition@st.geumsol.kr
ErrorLog /home/competition/public_html/logs/error.log
CustomLog /home/competition/public_html/logs/access.log combined
systemctl restart apache2
competition 접속
chmod 711 $HOME
chmod 755 /home/competition/public_html
PC1 -> Win7 교체
- Win7 -
ip 설정
- Kali -
- 위(1.1 master) -
nslookup st.geumsol.kr -> switch-winserver 와이어샤크(DNS)
ping st.geumsol.kr -> R2-UTM 와이어샤크(패킷 잡기)
- 와이어샤크가 아닌 라우터나 UTM에 해커의 흔적이 남아있는지 찾기
- 해커 반응 없애기(ping 막기) -
- UTM -
방화벽 - ICMP - 게이트웨이가 ping을 응답 체크 풀기(ping은 오지만 반응 막았음)
nmap -v -A st.geumsol.kr
R2-UTM 와이어샤크 - 통계 - 대화(포트 스캔:port 1부터 보임)
GNS 와이어샤크 멈추고 다시 캡처 실행
Kali에서 DisBuster - 2.3-small.txt 가져오기
- Win7(putty:word,gnu,dvwa.geumsol.kr 띄우기) -
- 위(1.1) -
mkdir blog, auth, admin, board
word@st:~$
cd public_html - ls(wordpress.zip 파일 확인) - unzip wordpress.zip
nano /etc/apache2/sites-available/hosting.conf
DocumentRoot /home/word/public_html/wordpress
ServerName word.geumsol.kr
ServerAdmin word@st.geumsol.kr
ErrorLog /home/word/public_html/logs/error.log
CustomLog /home/word/public_html/logs/access.log combined
systemctl restart apache2
cp wp-config-sample.php
nano wp-config.php
데이터베이스에 word 계정 넣기
create databases word;
CREATE USER 'word'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON word.* TO 'word'@'localhost';
flush privileges;
- 관리자(workbench 사용하려고) -
CREATE USER 'word'@'192.168.0.1' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON word.* TO 'word'@'192.168.0.1';
flush privileges;
- 모든 대역대(hacker 접속 가능) -
CREATE USER 'word'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON word.* TO 'word'@'%';
flush privileges;
- GNU -
cd public_html - ls(gnu.zip 파일 확인) - unzip gnu.zip
nano /etc/apache2/sites-available/hosting.conf
DocumentRoot /home/word/public_html/gnuboard-gnuboard5-327e7ba
mkdir data - chmod 707 data
- DVWA -
cd public_html - ls(dvwa.zip 파일 확인) - unzip dvwa.zip
nano /etc/apache2/sites-available/hosting.conf
/home/word/public_html/DVWA-master
cp config/config.inc.php.dist config/config.inc.php
nano config/config.inc.php
- 웹 에러 코드 -
1xx 정보 응답 100 Continue 요청 진행 중, 계속 진행 가능
101 Switching Protocols 프로토콜 변경 승인
2xx 요청 성공 200 OK 요청 성공
201 Created 새 리소스 생성됨 (POST 등)
204 No Content 응답 내용 없음 (예: 삭제 성공)
3xx 리디렉션 301 Moved Permanently 영구 이동
302 Found 임시 이동
304 Not Modified 캐시된 내용 사용
4xx 클라이언트 오류 400 Bad Request 잘못된 요청 (문법 오류 등)
401 Unauthorized 인증 필요 (로그인 안 됨)
403 Forbidden | 접근 거부 (권한 없음)
404 Not Found 페이지 없음
405 Method Not Allowed 허용되지 않은 요청 방식
408 Request Timeout 응답 대기 중 시간 초과
5xx 서버 오류 500 Internal Server Error 서버 내부 오류 (PHP, 설정 문제 등)
501 Not Implemented 미지원 기능
502 Bad Gateway 게이트웨이/프록시 오류
503 Service Unavailable 서버 점검 중 or 과부하
504 Gateway Timeout 게이트웨이 응답 지연