getReport
- 인쇄
- PDF
getReport
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
개요
- getReport API 는 "Web Security Checker" 에서 제공하는 기능으로 진단 리포트를 출력하는 API 입니다.
요청
Method | Request URI |
---|---|
GET | https://wsc.apigw.fin-ntruss.com/api/v1/jobs/{instanceId}/report |
Path Variables
파라미터 | 필수 여부 | 타입 | 설명 |
---|---|---|---|
InstanceId | Yes | integer | 진단 식별 번호 |
요청 헤더
IAM 인증을 위한 요청 헤더입니다.
헤더명 | 설명 |
---|---|
x-ncp-apigw-timestamp | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타낸 것 API Gateway 서버와 시간 차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주 |
x-ncp-iam-access-key | 네이버 클라우드 플랫폼에서 IAM 에서 발급받은 AccessKey |
x-ncp-apigw-signature-v2 | 요청 경로 및 헤더를 AccessKey와 맵핑되는 SecretKey로 암호화한 서명으로 HMAC 암호화 알고리즘은 HmacSHA256 을 사용함 |
응답
응답 바디
필드명 | 필수 여부 | 타입 | 설명 |
---|---|---|---|
report_date | Yes | string | 진단 완료 시간 |
Target_Info | Yes | string | 진단 대상 정보 |
Crawl_Time | Yes | string | 크롤링 작업 시간 (2001/01/01 00:00:00 ~ 2001/01/01 00:05:00) |
Scan_Time | Yes | string | 진단 작업 시간 2001/01/01 00:06:00 ~ 2001/01/01 00:10:00 |
Excluded_Url | Yes | string | 진단 제외 대상 URL 리스트 |
Login_Info | Yes | string | 인증 쿠키 정보 |
Vulnerability_Category | Yes | string | 진단 항목 나열 (VulnTitle_1, VulnTitle_2, ...) |
User_Agent | Yes | string | 진단/크롤러 브라우저 설정 |
Memo | Yes | string | 진단 작업 생성시 작성한 메모 |
Scanned_Domain_List | Yes | array | 진단 대상 도메인 리스트 |
Not_Scanned_Domain_List | Yes | array | 진단 제외 도메인 리스트 |
Classify_byRisk_Level | Yes | object | 위험도에 따른 취약점 갯수 |
Classify_byRisk_Level.Total | Yes | integer | 총 취약점 갯수 |
Classify_byRisk_Level.High | Yes | integer | 영향도 '상' 취약점 갯수 |
Classify_byRisk_Level.Medium | Yes | integer | 영향도 '중' 취약점 갯수 |
Classify_byRisk_Level.Low | Yes | integer | 영향도 '하' 취약점 갯수 |
Classify_byRisk_Domain | Yes | object | 도메인, 영향도 별 취약점 갯수 |
Classify_byRisk_Domain."http://your-domain.com" | Yes | object | http://your-domain.com 의 위험도별 취약점 갯수 |
Classify_byRisk_Domain."http://your-domain.com"."VulnTitle_1" | Yes | object | http://your-domain.com 의 "VulnTitle_1" 진단 항목의 위험도별 취약점 갯수 |
Classify_byRisk_Domain."http://your-domain.com"."VulnTitle_1".High | Yes | integer | http://your-domain.com 의 "VulnTitle_1" 진단 항목의 영향도 '상' 취약점 갯수 |
Classify_byRisk_Domain."http://your-domain.com"."VulnTitle_1".Medium | Yes | integer | http://your-domain.com 의 "VulnTitle_1" 진단 항목의 영향도 '중' 취약점 갯수 |
Classify_byRisk_Domain."http://your-domain.com"."VulnTitle_1".Low | Yes | integer | http://your-domain.com 의 "VulnTitle_1" 진단 항목의 영향도 '하' 취약점 갯수 |
Classify_byRisk_Vulnerability | Yes | object | 취약점 별 취약점 갯수 |
Classify_byRisk_Vulnerability."VulnTitle_1" | Yes | integer | "VulnTitle_1" 진단 항목의 취약점 갯수 |
Classify_byRisk_Vulnerability."VulnTitle_2" | Yes | integer | "VulnTitle_2" 진단 항목의 취약점 갯수 |
Details | Yes | object | 진단 항목별 상세 정보 |
Details."VulnTitle_1" | Yes | object | "VulnTitle_1" 진단 항목의 취약점 상세 정보 |
Details."VulnTitle_1"."0" | Yes | object | "VulnTitle_1" 진단 항목의 첫 번째 취약점 상세 정보 |
Details."VulnTitle_1"."0".Title | Yes | object | 취약점 이름 + 순번 |
Details."VulnTitle_1"."0".URL | Yes | object | 취약점 발생 경로(웹 URL) 및 메서드 |
Details."VulnTitle_1"."0".Request_Header | Yes | object | 취약점 진단 시 사용한 요청 헤더(Request Header) 정보 |
Details."VulnTitle_1"."0".Referer | Yes | object | 요청 헤더(Request Header) 정보 중 이전 참조 경로(URL, 레퍼러) |
Details."VulnTitle_1"."0".Request_Body | Yes | object | 요청(Request)의 바디(body) 영역(FORM 데이터, JSON 데이터 등) |
Details."VulnTitle_1"."0".Response_Data | Yes | array | 응답 BODY 데이터 리스트 |
Details."VulnTitle_1"."0".Description | Yes | string | 취약점 공격 방법에 대한 추가 설명 |
Details."VulnTitle_1"."0".Reference | Yes | string | 대응방안 외부 안내 문서 링크 |
Recommendation | Yes | object | 취약점 대응방안 상세 |
Recommendation."VulnTitle_1" | Yes | string | "VulnTitle_1" 진단 항목의 취약점 대응방안 상세 |
Recommendation."VulnTitle_2" | Yes | string | "VulnTitle_2" 진단 항목의 취약점 대응방안 상세 |
예시
요청 예시
curl -X GET "https://wsc.apigw.fin-ntruss.com/api/v1/jobs/{instanceId}/report"
-H "accept: application/json"
-H "x-ncp-iam-access-key: {x-ncp-iam-access-key}"
-H "x-ncp-apigw-timestamp: {x-ncp-apigw-timestamp}"
-H "x-ncp-apigw-signature-v2: {x-ncp-apigw-signature-v2}"
응답 예시
{
"resource": {
"report_date": "2020-05-21 00:00:00",
"Target_Info": "http://your-domain.com",
"Crawl_Time": "2020/05/21 00:00:00 ~ 2020/05/21 00:05:00",
"Scan_Time": "2020/05/21 00:05:00 ~ 2020/05/21 00:15:00",
"Excluded_Url": null,
"Login_Info": "",
"Vulnerability_Category": "SQL Injection, XSS, .... (중략)",
"User_Agent": "Mozilla/5.0 .... (중략)",
"Memo": "",
"Scanned_Domain_List": [
"http://your-domain.com"
],
"Not_Scanned_Domain_List": [
"",
],
"Classify_byRisk_Level": {
"Total": 5,
"High": 2,
"Medium": 1,
"Low": 2
},
"Classify_byRisk_Domain": {
"http://your-domain.com": {
"XSS": {
"High": 2
},
"LFI": {
"Medium": 1
},
"Insufficient Authorization": {
"Low": 2
}
}
},
"Classify_byRisk_Domain": null,
"Classify_byRisk_Vulnerability": null,
"Details": {
"XSS": {
"RiskLevel": "Medium",
"Vuln_Desc": "XSS(Cross-site Scripting) 취약점은 사용자로부터 입력 받은 .... (중략..)",
"Vuln_Desc2": "- 사용자로부터 입력 받은 값이 올바른 범위 .... (중략..)",
"0": {
"Title": "XSS #1",
"URL": "[GET] http://your-domain.com/....(중략)",
"Request_Header": "",
"Referer": "",
"Request_Body": "",
"Response_Data": [
""
],
"Description": "",
"Reference": ""
},
},
"Recommendation": {
"XSS": "사용자로부터 입력 받은 값이 정확히 예측 가능한 .... (중략)"
}
}
}
이 문서가 도움이 되었습니까?