XSS
Cross-Stie Scripting
[ XSS ]
- 클라이언트 측에서 악성 스크립트를 실행시키는 공격
- 웹 애플리케이션에서 사용자의 입력을 검증 없이 출력할 때 발생하는 스크립트 삽입 공격
- 사용자 입력을 필터링 없이 HTML에 직접 출력할 때 문제가 생기기 때문에 입력값을 글자로 바꿔서 출력해 주면 안전
- 공격자는 자바스크립트 같은 악성 스크립트 코드를 삽입하여, 피해자의 브라우저에서 실행되도록 유도
- 누군가 웹사이트에 몰래 자바스크립트 코드를 심는 행위
- 웹사이트에 악성코드가 몰래 들어가는 공격
- XSS 종류
- Reflected XSS
- 쿼리스크링 등을 통해 입력값이 즉시 응답에 반영되어 실행
- Stored XSS
- 게시판/댓글 등에 저장된 악성 스크립트가 다른 사용자에게 전달됨
- DOM-based XSS
- 서버가 아닌 자바스크립트(클라이언트)에서 입력값을 조작하여 발생
- Reflected XSS
- XSS 공격 시 피해
- 사용자 쿠키(정보) 탈취 / 세션 하이재킹(Session Hijacking), 웹사이트 내용 변조, 피싱 페이지 생성, 악성코드 유포 등
MODSECURITY (WEB 방화벽)
[ 프로그램 설치 ]
# dnf -y install mod-security
|
[ WEB 방화벽 RULE 설치 ]
# dnf -y install mod_security_crs
|
[ 환경설정 파일 ]
# vi /etc/httpd/conf.d/mod_security.conf
|
OWASP 추천 보안 규칙 활성화 (OWASP CRS를 적용하겠다 선언)
# vi /etc/httpd/conf.d/mod_security.conf
55 IncludeOptional /usr/share/mod_security_csr/owasp-crs.load
# systemctl restart httpd

< XSS 시도 >
자바 스크립트 코드를 넣으면 웹페이지가 스크립트 코드를 그대로 실행함
Apache가 요청을 공격이라고 판단하고 접근을 차단하여 403 Forbidden
http://ok.co.kr/index.html?<script>alert</script>

WEB 서비스 보안 점검 도구
Whatweb
|
Nikto
|
정보 수집
|
취약점 점검
|

WHATWEB
[ WHTAWEB ]
- 웹사이트의 기술 스택을 빠르게 확인할 수 있는 툴
- 웹 서버 종류, 서버 운영체제, 사용된 기술, 버전 정보, 이메일 주소, 타이틀
- 주로 보안 진단이나 정보 수집 단계에서 사용
# whatweb [IP 주소 / Domain ]
|

[ ServerTokens ]
- 웹 서버가 HTTP 응답 헤더에 표시하는 정보의 양을 조절하는 설정
- Apache 설정 파일 (/etc/httpd.conf/httpd.conf) 에서 ServerTokens으로 서버 정보를 외부에 얼마나 노출할지 정할 수 있음


Prod : Apache만 노출됨 (버전, OS 다 숨겨짐)

ServerTokens Prod 설정 전 / 후
NIKTO
[ Nikto ]
- 웹 서버의 보안 취약점을 찾아주는 자동화 도구 (자동 점검 도구)
- 위험한 설정, 취약한 파일, 오래된 버전 등 점검
- 기본 취약점, 취약한 서버 버전, 잘못된 설정, 기본 관리자 페이지
- 위험한 설정, 취약한 파일, 오래된 버전 등 점검
# nikto -h [IP 주소 / Domain ] -C all
|


OWASP ZAP
Zed Attack Proxy
[ ZAPROXY ]
- 웹 애플리케이션의 보안 취약점을 찾기 위해 사용하는 오픈소스 보안 진단 도구
- 웹사이트의 보안 취약점 진단 도구
로그인 후 Static IP 변경
# sudo su
# vi /etc/network/interfaces


Kali Linux에서 Meta IP로 접속

DVWA

[ ZAPROXY 패키지 설치 ]
# apt -y install zaproxy*
|
|
# zaproxy
|
zaproxy 실행
|


설정(톱니바퀴) - Network - Server Certificates - Generate -Y - Save - Save

Settings

proxy - Settings...


cert - view Certificates...

Authorities - Import...
위치 : root/zap_root_ca.cer

Other Locations - Computer

192.168.10.10 접속 (Meta IP Add)
# zaproxy

Automated Scan

Attack


Attack - Active Scan

Show Advanced Options - 세부적인 Active Scan 설정

URL 복

붙 - ZAP+인코딩 도구를 활용해 공격 URL 세부적으로 분석 (인코딩 도구 화면)

빨강 - 위험
< 설명 >
🔴 Hash Disclosure - MD5 Crypt
설명
서버가 MD5 해시값을 노출하고 있음
MD5는 오래된 암호화 방식이라 쉽게 깨질 수 있음
위험
해커가 이 해시값을 복호화해서 비밀번호나 민감한 정보를 알아낼 수 있음
보안
MD5 사용 금지 (SHA-256 이상으로 HASH 알고리즘 교체)
HASH 노출 방지 (로그, 에러 메시지, 응답값에 HASH값 포함 X)
Salt 사용 (Hash 생성 시 랜덤한 Salt를 추가해 복호화 어렵게 만들기)
🔴 Path Traversal
설명
해커가 URL 같은 데에 ../ 이런 식으로 입력해서, 원래 볼 수 없는 서버 내부 파일에 접근할 수 있음
위험
시스템 설정파일, 데이터베이스 파일 등을 빼돌릴 수 있어서 매우 위험
보안
입력값 필터링 (특수 경로 문자 차단)
화이트 리스트 방식 사용 (접근 가능한 파일명 / 경로만 사전에 지정된 목록에서 선택)
파일 경로 하드코딩 금지 (사용자 입력값을 통해 직접 파일 경로 조합 X)
'IT 엔지니어 > Security' 카테고리의 다른 글
XSS (0) | 2025.04.17 |
---|---|
Burpsuite, Hydra, DVWA, (1) | 2025.04.15 |
Directory Indexing (0) | 2025.04.11 |
SNORT RULEs (0) | 2025.04.10 |
SNORT / IDS (0) | 2025.04.08 |