getReport
    • PDF

    getReport

    • PDF

    Article Summary

    개요

    • getReport API 는 "Web Security Checker" 에서 제공하는 기능으로 진단 리포트를 출력하는 API 입니다.

    요청

    MethodRequest URI
    GEThttps://wsc.apigw.ntruss.com/api/v1/jobs/{instanceId}/report

    Path Variables

    파라미터필수 여부타입설명
    InstanceIdYesinteger진단 식별 번호

    요청 헤더

    IAM 인증을 위한 요청 헤더입니다.

    헤더명설명
    x-ncp-apigw-timestamp1970년 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_dateYesstring진단 완료 시간
    Target_InfoYesstring진단 대상 정보
    Crawl_TimeYesstring크롤링 작업 시간 (2001/01/01 00:00:00 ~ 2001/01/01 00:05:00)
    Scan_TimeYesstring진단 작업 시간 2001/01/01 00:06:00 ~ 2001/01/01 00:10:00
    Excluded_UrlYesstring진단 제외 대상 URL 리스트
    Login_InfoYesstring인증 쿠키 정보
    Vulnerability_CategoryYesstring진단 항목 나열 (VulnTitle_1, VulnTitle_2, ...)
    User_AgentYesstring진단/크롤러 브라우저 설정
    MemoYesstring진단 작업 생성시 작성한 메모
    Scanned_Domain_ListYesarray진단 대상 도메인 리스트
    Not_Scanned_Domain_ListYesarray진단 제외 도메인 리스트
    Classify_byRisk_LevelYesobject위험도에 따른 취약점 갯수
    Classify_byRisk_Level.TotalYesinteger총 취약점 갯수
    Classify_byRisk_Level.HighYesinteger영향도 '상' 취약점 갯수
    Classify_byRisk_Level.MediumYesinteger영향도 '중' 취약점 갯수
    Classify_byRisk_Level.LowYesinteger영향도 '하' 취약점 갯수
    Classify_byRisk_DomainYesobject도메인, 영향도 별 취약점 갯수
    Classify_byRisk_Domain."http://your-domain.com"Yesobjecthttp://your-domain.com 의 위험도별 취약점 갯수
    Classify_byRisk_Domain."http://your-domain.com"."VulnTitle_1"Yesobjecthttp://your-domain.com 의 "VulnTitle_1" 진단 항목의 위험도별 취약점 갯수
    Classify_byRisk_Domain."http://your-domain.com"."VulnTitle_1".HighYesintegerhttp://your-domain.com 의 "VulnTitle_1" 진단 항목의 영향도 '상' 취약점 갯수
    Classify_byRisk_Domain."http://your-domain.com"."VulnTitle_1".MediumYesintegerhttp://your-domain.com 의 "VulnTitle_1" 진단 항목의 영향도 '중' 취약점 갯수
    Classify_byRisk_Domain."http://your-domain.com"."VulnTitle_1".LowYesintegerhttp://your-domain.com 의 "VulnTitle_1" 진단 항목의 영향도 '하' 취약점 갯수
    Classify_byRisk_VulnerabilityYesobject취약점 별 취약점 갯수
    Classify_byRisk_Vulnerability."VulnTitle_1"Yesinteger"VulnTitle_1" 진단 항목의 취약점 갯수
    Classify_byRisk_Vulnerability."VulnTitle_2"Yesinteger"VulnTitle_2" 진단 항목의 취약점 갯수
    DetailsYesobject진단 항목별 상세 정보
    Details."VulnTitle_1"Yesobject"VulnTitle_1" 진단 항목의 취약점 상세 정보
    Details."VulnTitle_1"."0"Yesobject"VulnTitle_1" 진단 항목의 첫 번째 취약점 상세 정보
    Details."VulnTitle_1"."0".TitleYesobject취약점 이름 + 순번
    Details."VulnTitle_1"."0".URLYesobject취약점 발생 경로(웹 URL) 및 메서드
    Details."VulnTitle_1"."0".Request_HeaderYesobject취약점 진단 시 사용한 요청 헤더(Request Header) 정보
    Details."VulnTitle_1"."0".RefererYesobject요청 헤더(Request Header) 정보 중 이전 참조 경로(URL, 레퍼러)
    Details."VulnTitle_1"."0".Request_BodyYesobject요청(Request)의 바디(body) 영역(FORM 데이터, JSON 데이터 등)
    Details."VulnTitle_1"."0".Response_DataYesarray응답 BODY 데이터 리스트
    Details."VulnTitle_1"."0".DescriptionYesstring취약점 공격 방법에 대한 추가 설명
    Details."VulnTitle_1"."0".ReferenceYesstring대응방안 외부 안내 문서 링크
    RecommendationYesobject취약점 대응방안 상세
    Recommendation."VulnTitle_1"Yesstring"VulnTitle_1" 진단 항목의 취약점 대응방안 상세
    Recommendation."VulnTitle_2"Yesstring"VulnTitle_2" 진단 항목의 취약점 대응방안 상세

    예시

    요청 예시

    curl -X GET "https://wsc.apigw.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": "사용자로부터 입력 받은 값이 정확히 예측 가능한 .... (중략)"
            }
        }
    }
    

    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.