주요정보통신기반시설 기술적 취약점 분석·평가 방법 기준 실습 환경
현재 모드: WEB-BASIC
| 항목 | 취약점명 | 실습 페이지 | 위험도 | OWASP |
|---|---|---|---|---|
| WEB-01 | SQL Injection (인증우회) | login.php | 상 | A03 |
| WEB-02 | SQL Injection (데이터추출) | search.php | 상 | A03 |
| WEB-03 | XSS — Reflected (반사형) | search.php | 중 | A03 |
| WEB-04 | XSS — Stored (저장형) | board.php | 상 | A03 |
| WEB-05 | 보안 헤더 미설정 | security_misc.php | 중 | A05 |
| WEB-06 | 취약한 암호화 (MD5, 평문) | security_misc.php | 상 | A02 |
| WEB-07 | 민감정보 노출 (phpinfo, 소스주석) | phpinfo.php | 상 | A02 |
| WEB-08 | 취약한 인증 (브루트포스, 계정잠금 없음) | login.php | 상 | A07 |
| WEB-09 | 취약한 세션 관리 (Session Fixation) | login.php | 상 | A07 |
| WEB-10 | 쿠키 보안 속성 미설정 (HttpOnly 등) | login.php | 중 | A07 |
| WEB-11 | CSRF (크로스사이트 요청 위조) | admin.php | 상 | A01 |
| WEB-12 | 오픈 리다이렉트 | security_misc.php | 중 | A01 |
| WEB-13 | 파일 업로드 취약점 (웹쉘) | upload.php | 상 | A04 |
| WEB-14 | IDOR (타인 주문 조회) | web14_idor.php | 중 | A01 |
| WEB-15 | SSRF (서버사이드 요청 위조) | web15_ssrf.php | 상 | A01 |
| WEB-16 | XXE (XML 외부 엔티티) | web16_xxe.php | 상 | A05 |
| WEB-17 | 역직렬화 (쿠키 변조) | web17_deserialize.php | 상 | A08 |
| WEB-18 | API 키 하드코딩 | web18_secrets.php | 중 | A05 |
| WEB-19 | JWT 취약점 (alg=none) | web19_jwt.php | 상 | A07 |
| WEB-20 | Rate Limiting 미비 (브루트포스) | web20_ratelimit.php | 중 | A07 |
| WEB-21 | CORS 취약 설정 (모든 Origin 허용) | web21_cors.php | 중 | A01 |
| WEB-22 | Command Injection (Ping 명령어 삽입) | web22_cmd_inject.php | 상 | A03 |
| WEB-23 | Path Traversal (디렉토리 이탈) | web23_path_traversal.php | 상 | A01 |
| WEB-24 | NoSQL Injection (JSON 연산자 삽입) | web24_nosqli.php | 상 | A03 |
| WEB-25 | SSTI (템플릿 인젝션) | web25_ssti.php | 상 | A03 |
| WEB-32 | LDAP Injection (인사정보 검색) | web32_ldap.php | 상 | A03 |
| WEB-34 | SSI Injection (Server-Side Includes) | web34_ssi.php | 상 | A03 |
| WEB-XP | XPath Injection (XML 조회) | web_xpath.php | 중 | A03 |
| WEB-PW | 취약한 패스워드 복구 | web_password_reset.php | 상 | A07 |
| WEB-SE | 세션 예측/고정/만료 | web_session_analysis.php | 상 | A07 |
| 🎯 총 26개 취약점 페이지 + 한국도로공사서비스 CSR-002 실무 진단 | ||||
| 파일 | 취약점명 | 난이도 |
|---|---|---|
| web01_sqli_error.php | Error-Based SQL Injection | 하 |
| web02_sqli_blind_time.php | Blind SQLi (Time-Based) | 하 |
| web03_sqli_second_order.php | Second-Order SQL Injection | 중 |
| web04_nosqli_mongo_style.php | NoSQL Injection (MongoDB 스타일) | 중 |
| web05_sqli_xff_header.php | SQLi via HTTP Header (XFF) | 중 |
| web06_xss_dom_proto.php | DOM-based XSS + Prototype Pollution | 중 |
| web07_xss_stored_waf.php | Stored XSS (WAF 우회) | 중 |
| web08_xss_reflected_polyglot.php | Reflected XSS (Polyglot) | 하 |
| web09_csrf_custom_header.php | CSRF (Custom Header 우회) | 중 |
| web10_upload_symlink.php | 파일 업로드 (Zip/Symlink) | 중 |
| web11_otp_bruteforce.php | OTP 브루트포스 | 하 |
| web12_idor_basic.php | IDOR (직접 객체 참조) | 하 |
| web13_race_condition.php | Race Condition (쿠폰 중복사용) | 중 |
| ID | 취약점명 | 파일 |
|---|---|---|
| WEB-36 | GraphQL Introspection 정보노출 | web36 |
| WEB-37 | GraphQL Batching Attack | web37 |
| WEB-38 | GraphQL 필드 인가 누락 | web38 |
| WEB-39 | WebSocket Origin CSRF | web39 |
| WEB-40 | WebSocket 메시지 인젝션 | web40 |
| WEB-41 | WebSocket Origin 스푸핑 | web41 |
| WEB-42 | HTTP/2 Rapid Reset | web42 |
| WEB-43 | HTTP Smuggling (CL.TE) | web43 |
| WEB-44 | HTTP Smuggling (TE.CL) | web44 |
| WEB-45 | 캐시 포이즈닝 | web45 |
| WEB-46 | 웹 캐시 디셉션 | web46 |
| WEB-47 | 서브도메인 테이크오버 | web47 |
| WEB-48 | JWT alg=none 우회 | web48 |
| WEB-49 | JWT RS256→HS256 키 컨퓨전 | web49 |
| WEB-50 | JWT kid 경로 조작 | web50 |
| WEB-51 | JWT jku SSRF | web51 |
| WEB-52 | JWT 만료 토큰 재사용 | web52 |
| WEB-53 | OAuth Redirect URI 우회 | web53 |
| WEB-54 | OAuth CSRF + Code 탈취 | web54 |
| WEB-55 | Mass Assignment | web55 |
실제 훈련 사례 기반 시뮬레이터
phishing_sim.php →
4단계 경보 · 12단계 프로세스
crisis_training.php →
35개 GAP분석 항목
ismsp_checklist.php →
행안부 보안약점 10종
securecoding.php →
3단계 침투 체인 (SQLi→DB→Pivot)
pentest_chain.php →
SSH: ssh -p 2222 root@[IP] (root:root)
HTTP: http://[IP]:8082
FTP: ftp [IP] (anonymous)
MySQL: mysql -h [IP] -P 3307 -u root -proot
외부 접속 허용, 기본 계정, 권한 과다
| 항목 | 취약점명 | 위험도 | 점검 방법 |
|---|---|---|---|
| U-01 | root 계정 원격 접속 허용 | 상 | SSH root 로그인 시도 |
| U-02 | 패스워드 복잡도 미설정 | 상 | /etc/login.defs 확인 |
| U-03 | 계정 잠금 임계값 미설정 | 중 | /etc/pam.d/common-auth |
| U-04 | 패스워드 파일 권한 관리 | 상 | ls -la /etc/passwd /etc/shadow |
| U-05 | root 이외 UID=0 계정 존재 | 상 | awk -F: '$3==0' /etc/passwd |
| U-06 | 세션 타임아웃 미설정 | 중 | /etc/profile TMOUT 확인 |
| U-07 | 불필요 계정 존재 | 중 | cat /etc/passwd |
| U-08 | 관리자 그룹 불필요 계정 | 중 | cat /etc/group |
| U-09 | 계정 패스워드 최소 길이 미설정 | 중 | grep PASS_MIN /etc/login.defs |
| U-10 | /etc/passwd 파일 소유자/권한 | 상 | ls -la /etc/passwd |
| U-11 | /etc/shadow 파일 소유자/권한 | 상 | ls -la /etc/shadow |
| U-12 | /etc/hosts 파일 소유자/권한 | 중 | ls -la /etc/hosts |
| U-13 | SUID/SGID 설정 파일 점검 | 상 | find / -perm -4000 2>/dev/null |
| U-14 | 사용자 홈디렉터리 권한 | 중 | ls -la /home |
| U-15 | .rhosts, hosts.equiv 파일 | 상 | find / -name .rhosts 2>/dev/null |
| U-16 | PATH 환경변수 설정 | 중 | echo $PATH (. 또는 :: 포함 여부) |
| U-17 | .bash_history 권한/민감정보 | 중 | cat ~/.bash_history |
| U-18 | world writable 파일 점검 | 중 | find / -perm -o+w -type f 2>/dev/null |
| U-19 | 서비스 배너 정보 노출 | 하 | nc [IP] 22, nmap -sV |
| U-20 | Sendmail 버전 정보 노출 | 하 | telnet [IP] 25 |
| U-21 | DNS 버전 정보 노출 | 하 | nmap -sU -p 53 --script dns-nsid |
| U-22 | NFS 접근 제한 | 상 | showmount -e [IP] |
| U-23 | 불필요 서비스 (Telnet, FTP 등) | 상 | nmap -p 21,23 [IP] |
| U-24 | Finger 서비스 비활성화 | 중 | nmap -p 79 [IP] |
| U-25 | Anonymous FTP 비활성화 | 상 | ftp [IP] (anonymous) |
| U-26 | r 계열 서비스 비활성화 | 상 | nmap -p 512,513,514 |
| U-27 | cron 파일 소유자/권한 | 중 | ls -la /etc/cron* |
| U-28 | DoS 공격 취약 서비스 비활성화 | 중 | nmap -p 7,9,13,19 |
| U-29 | NIS 서비스 비활성화 | 상 | ps -ef | grep ypserv |
| U-30 | tftp/bootp 비활성화 | 상 | nmap -sU -p 69 |
| U-31 | Sendmail 비활성화 또는 최신화 | 중 | telnet [IP] 25 (버전 확인) |
| U-32 | 스팸 메일 릴레이 제한 | 중 | sendmail 릴레이 테스트 |
| U-33 | 일반 사용자 Sendmail 실행 금지 | 하 | ls -la $(which sendmail) |
| U-34 | DNS 영역 전송 제한 | 상 | dig @[IP] axfr [도메인] |
| U-35 | Apache 디렉터리 인덱싱 금지 | 중 | HTTP 응답에 Directory Listing |
| U-36 | Apache 웹 서비스 계정 제한 | 중 | ps -ef | grep apache (실행 계정) |
| U-37 | Apache 불필요 모듈 비활성화 | 하 | apache2ctl -M |
| U-38 | Apache 상위 디렉터리 접근 금지 | 중 | http://[IP]/../../etc/passwd |
| U-39 | Apache 심볼릭 링크 허용 금지 | 중 | Apache FollowSymLinks 설정 |
| U-40 | Apache 파일 업로드/다운로드 제한 | 중 | LimitRequestBody 설정 확인 |
| U-41 | Apache 에러 페이지 정보 노출 | 하 | 존재하지 않는 페이지 접속 |
| U-42 | Apache 버전 정보 노출 | 하 | curl -I http://[IP] | grep Server |
| U-43 | 최신 보안 패치 적용 | 상 | uname -r, apt list --upgradable |
| U-44 | 로그온 배너 설정 | 하 | SSH 접속 시 배너 확인 |
| U-45 | 로그 설정 (/etc/rsyslog.conf) | 중 | cat /etc/rsyslog.conf |
| U-46 | 로그 정기 검토 | 중 | 정책/절차 확인 |
| U-47 | 로그 보호 (무결성) | 중 | ls -la /var/log/* |
| U-48 | 로그 용량 설정 | 하 | logrotate 설정 확인 |
| U-49 ~ U-72: 보고서 가이드에서 전체 확인 | |||
| 항목 | 취약점명 | 위험도 | 점검 방법 |
|---|---|---|---|
| D-01 | DBMS 계정 패스워드 미설정/추측가능 | 상 | root:root 접속 시도 |
| D-02 | 불필요 계정 존재 | 중 | SELECT user,host FROM mysql.user |
| D-03 | 외부 접속 허용 계정 | 상 | SELECT user,host FROM mysql.user WHERE host='%' |
| D-04 | 불필요 권한 부여 | 상 | SHOW GRANTS FOR 'user'@'%' |
| D-05 | 추적 정보 로깅 미설정 | 중 | SHOW VARIABLES LIKE 'general_log' |
| D-06 | DBMS 버전 노출 | 하 | SELECT VERSION() |
| D-07 | 패스워드 복잡도 정책 미설정 | 중 | SHOW VARIABLES LIKE 'validate_password%' |
| D-08 | DBA 권한 일반 계정 부여 | 상 | SELECT * FROM information_schema.USER_PRIVILEGES |
| D-09 ~ D-55: 보고서 가이드에서 전체 확인 | |||