CVE-2021-46080 — CVE-2021-46080 - Vehicle Service Management System 1.0에 사이트 간 요청 위조(CSRF) 취약점이 존재합니다. 성공적인 CSRF 공격은 저장형 사이트 간 스크립팅(XSS) 취약점으로 이어집니다. | Kitploit
도구 / GitHub / sanupl / cve-2021-46080
sanupl/cve-2021-46080 CVE-2021-46080 CVE-2021-46080 - Vehicle Service Management System 1.0에 사이트 간 요청 위조(CSRF) 취약점이 존재합니다. 성공적인 CSRF 공격은 저장형 사이트 간 스크립팅(XSS) 취약점으로 이어집니다.
1 1 4개월 전커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.
지난 7일 지난 30일
CVE-2021-46080
익스플로잇 제목: Vehicle Service Management System - '다중' 사이트 간 요청 위조(CSRF)로 인한 저장형 사이트 간 스크립팅(XSS)
CVE: CVE-2021-46080
CVSS: 4.8 중간(MEDIUM)
참조:
설명: Vehicle Service Management System 1.0에 사이트 간 요청 위조(CSRF) 취약점이 존재합니다. 성공적인 CSRF 공격은 저장형 사이트 간 스크립팅(XSS) 취약점으로 이어집니다.
1. Vehicle Service Management System - '정비사 목록(Mechanic List)' (/admin/?page=mechanics)
익스플로잇:
관리자 패널에 접속합니다: http://localhost/vehicle_service/admin
관리자 계정 두 개를 생성합니다.
브라우저 A(Chrome)에서 Admin-1 계정으로 로그인합니다.
브라우저 B(Firefox)에서 Admin-2 계정으로 로그인합니다.
Admin-1 계정(Chrome)에서 정비사 목록(Mechanic List) 섹션으로 이동하여 Create New 버튼을 클릭합니다.
Full Name(전체 이름) 입력 필드에 아래 페이로드를 주입합니다.
페이로드: "><script>alert(document.cookie)</script>
Save 버튼을 클릭합니다.
burpsuite에서 요청을 캡처하고 CSRF HTML 파일을 생성합니다.
CSRF HTML 파일을 저장합니다(예: CSRF.html).
브라우저 B(Firefox)에서 CSRF.html 파일을 엽니다.
브라우저 B(Firefox)에서 정비사 목록(Mechanic List) 섹션으로 이동합니다.
악성 JavaScript 코드가 실행됩니다.
2. Vehicle Service Management System - '서비스 요청(Service Requests)' (/admin/?page=service_requests)
익스플로잇:
관리자 패널에 접속합니다: http://localhost/vehicle_service/admin
관리자 계정 두 개를 생성합니다.
브라우저 A(Chrome)에서 Admin-1 계정으로 로그인합니다.
브라우저 B(Firefox)에서 Admin-2 계정으로 로그인합니다.
Admin-1 계정(Chrome)에서 서비스 요청(Service Requests) 섹션으로 이동하여 Create New 버튼을 클릭합니다.
Owner Contact(소유자 연락처) 입력 필드에 아래 페이로드를 주입합니다.
페이로드: "><script>alert(document.cookie)</script>
Save Request(요청 저장) 버튼을 클릭합니다.
burpsuite에서 요청을 캡처하고 CSRF HTML 파일을 생성합니다.
CSRF HTML 파일을 저장합니다(예: CSRF.html).
브라우저 B(Firefox)에서 CSRF.html 파일을 엽니다.
브라우저 B(Firefox)에서 서비스 요청(Service Requests) 섹션으로 이동합니다.
새로 생성된 서비스 요청(Service Requests)을 선택하고 View 아래의 Action을 클릭합니다.
악성 JavaScript 코드가 실행됩니다.
3. Vehicle Service Management System - '카테고리 목록(Category List)' (/admin/?page=maintenance/category)
익스플로잇:
관리자 패널에 접속합니다: http://localhost/vehicle_service/admin
관리자 계정 두 개를 생성합니다.
브라우저 A(Chrome)에서 Admin-1 계정으로 로그인합니다.
브라우저 B(Firefox)에서 Admin-2 계정으로 로그인합니다.
Admin-1 계정(Chrome)에서 카테고리 목록(Category List) 섹션으로 이동하여 Create New 버튼을 클릭합니다.
Category Name(카테고리 이름) 입력 필드에 아래 페이로드를 주입합니다.
페이로드: "><script>alert(document.cookie)</script>
Save 버튼을 클릭합니다.
burpsuite에서 요청을 캡처하고 CSRF HTML 파일을 생성합니다.
CSRF HTML 파일을 저장합니다(예: CSRF.html).
브라우저 B(Firefox)에서 CSRF.html 파일을 엽니다.
브라우저 B(Firefox)에서 카테고리 목록(Category List) 섹션으로 이동합니다.
악성 JavaScript 코드가 실행됩니다.
4. Vehicle Service Management System - '서비스 목록(Service List)' (/admin/?page=maintenance/services)
익스플로잇:
관리자 패널에 접속합니다: http://localhost/vehicle_service/admin
관리자 계정 두 개를 생성합니다.
브라우저 A(Chrome)에서 Admin-1 계정으로 로그인합니다.
브라우저 B(Firefox)에서 Admin-2 계정으로 로그인합니다.
Admin-1 계정(Chrome)에서 서비스 목록(Service List) 섹션으로 이동하여 Create New 버튼을 클릭합니다.
Service Name(서비스 이름) 입력 필드에 아래 페이로드를 주입합니다.
페이로드: "><script>alert(document.cookie)</script>
Save 버튼을 클릭합니다.
burpsuite에서 요청을 캡처하고 CSRF HTML 파일을 생성합니다.
CSRF HTML 파일을 저장합니다(예: CSRF.html).
브라우저 B(Firefox)에서 CSRF.html 파일을 엽니다.
브라우저 B(Firefox)에서 서비스 목록(Service List) 섹션으로 이동합니다.
악성 JavaScript 코드가 실행됩니다.
5. Vehicle Service Management System - '사용자 목록(User List)' (/admin/?page=user/list)
익스플로잇:
관리자 패널에 접속합니다: http://localhost/vehicle_service/admin
관리자 계정 두 개를 생성합니다.
브라우저 A(Chrome)에서 Admin-1 계정으로 로그인합니다.
브라우저 B(Firefox)에서 Admin-2 계정으로 로그인합니다.
Admin-1 계정(Chrome)에서 사용자 목록(User List) 섹션으로 이동하여 Create New 버튼을 클릭합니다.
First Name(이름) 입력 필드에 아래 페이로드를 주입합니다.
페이로드: "><script>alert(document.cookie)</script>
Save 버튼을 클릭합니다.
burpsuite에서 요청을 캡처하고 CSRF HTML 파일을 생성합니다.
CSRF HTML 파일을 저장합니다(예: CSRF.html).
브라우저 B(Firefox)에서 CSRF.html 파일을 엽니다.
브라우저 B(Firefox)에서 사용자 목록(User List) 섹션으로 이동합니다.
악성 JavaScript 코드가 실행됩니다.
6. Vehicle Service Management System - '설정(Settings)' (/admin/?page=system_info)
익스플로잇:
관리자 패널에 접속합니다: http://localhost/vehicle_service/admin
관리자 계정 두 개를 생성합니다.
브라우저 A(Chrome)에서 Admin-1 계정으로 로그인합니다.
브라우저 B(Firefox)에서 Admin-2 계정으로 로그인합니다.
Admin-1 계정(Chrome)에서 설정(Settings) 섹션으로 이동합니다.
System Name(시스템 이름) 입력 필드에 아래 페이로드를 주입합니다.
페이로드: "><script>alert(document.cookie)</script>
Update 버튼을 클릭합니다.
burpsuite에서 요청을 캡처하고 CSRF HTML 파일을 생성합니다.
CSRF HTML 파일을 저장합니다(예: CSRF.html).
브라우저 B(Firefox)에서 CSRF.html 파일을 엽니다.
브라우저 B(Firefox)에서 설정(Settings) 섹션으로 이동합니다.
악성 JavaScript 코드가 실행됩니다.
영향: 여러 엔드포인트에 사이트 간 요청 위조(CSRF) 취약점이 존재하며, 이는 저장형 사이트 간 스크립팅(XSS) 취약점으로 이어집니다.
완화 조치:
일반적인 세션 토큰과 마찬가지로 예측 불가능하고 높은 엔트로피를 가져야 합니다.
사용자 세션에 바인딩되어야 합니다.
관련 작업이 실행되기 전에 모든 경우에 대해 엄격히 검증되어야 합니다.