📝 Day 17 (2025.07.11.FRI) - 쪽지시험, nikto, DVWA

📄 쪽지시험
시험 링크:
http://boanin.jeonjucom.kr/index.php/assessment/exam1

1. IP 서브넷마스크 게이트웨이 DNS
2. 라우터
3. ARP, ICMP
4. 정적 라우팅, 동적 라우팅(rip, ospf)
5. DHCP
6. IP 설정: /etc/netplan/50-init-yaml
7. TCP Wrapper: /etc/hosts.deny, /etc/hosts.allow
8. 주요 포트 번호
  - 21 : FTP
  - 22 : SSH
  - 23 : TELNET
  - 25 : SMTP
  - 53 : DNS
  - 80 : HTTP
  - 110 : POP3
  - 143 : IMAP
  - 514 : Syslog
  - 3306 : MySQL
🛠️ Nikto
(Kali)

- 방화벽: ICMP
- nikto 업데이트가 안될 경우 NAT 해제 후 IP 제거하고 업데이트 시도
- nikto -host geumsol.kr (취약점 빠르게 탐색 가능)
- 라우터 사이에서 패킷 캡처
- 외부(NAT 풀고)로 나와서:
    nikto -host word.geumsol.kr
    wpscan --url word.geumsol.kr
🌐 DVWA
(Win, 1.1, dvwa)

- Editplus로 dvwa → login.php → 29줄 참고 → dvwa DB에 users 테이블이 있어야 로그인 가능

- 경로 예시:
    st.geumsol.kr
    └─ public_html/index.html
    └─ public_html/index.php

- login.php
if(mysqli_num_rows($result) != 1) {
  header("Location: " . DVWA_WEB_PAGE_TO_ROOT . 'setup.php');
}
→ 로그인 실패 시 setup.php로 이동

- setup.php: 기본 데이터 삽입
- dvwaPage.inc.php: 테이블과 데이터 생성

- MySQL.php
$create_tb = "CREATE TABLE users (
  user_id int(6),
  fisrt_name varchar(15),
  last_name varchar(15),
  user varchar(15),
  password varchar(32),
  avatar varchar(70),
  last_login TIMESTAMP,
  failed_login INT(3),
  PRIMARY KEY (user_id)
);";

기본 유저:
- admin : password
- Gordon : abc123
- Hack : charley
- Pablo : letmein
- Bob : password

교재 참고: [이것이 우분투 리눅스다] p.697

- vsftpd 설정
nano /etc/vsftpd.conf → 31행 주석 제거 필요 (주석 있으면 저장 불가)
vsftpd 설정파일
🗃️ MySQL 설정
root → mysql 접속
use dvwa;

create database dvwa;
CREATE USER 'dvwa'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost';
flush privileges;

(Workbench 외부 접속용)
CREATE USER 'dvwa'@'192.168.0.1' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'192.168.0.1';
flush privileges;
MySQL 사용자 권한 조회
MySQL 외부 접속 허용
nano /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1

→ 위 주소를 주석처리하면 외부 접근 허용됨
MySQL 설정 파일