추가 출력 형식

Noir는 코드베이스에서 특정 정보를 추출하는 데 도움이 되는 다양한 추가 출력 형식을 제공합니다. 이 페이지는 'only-url', 'only-param', 'markdown-table'과 같은 형식을 사용하여 필요에 맞게 출력을 사용자 정의하는 방법을 설명합니다.

Noir는 특정 정보를 분리해야 할 때를 위한 다양한 특수화된 출력 형식을 지원합니다. 이러한 형식은 추가적인 노이즈 없이 필요한 데이터에 빠르게 액세스할 수 있도록 설계되었습니다. 다음은 사용할 수 있는 가장 유용한 추가 형식 중 일부입니다.

특정 정보 필터링

only-* 형식을 사용하여 스캔에서 한 가지 유형의 데이터만 추출할 수 있습니다.

URL만

모든 발견된 URL 목록을 얻으려면 only-url 형식을 사용하세요:

noir -b . -f only-url

이렇게 하면 간단한 엔드포인트 목록이 출력됩니다:

/
/query
/token
/socket
/1.html
/2.html

매개변수만

모든 고유 매개변수 이름을 추출하려면 only-param을 사용하세요:

noir -b . -f only-param

이렇게 하면 코드베이스에서 찾은 모든 매개변수 이름이 나열됩니다:

query
client_id
redirect_url
grant_type

헤더만

모든 HTTP 헤더 목록을 얻으려면 only-header를 사용하세요:

noir -b . -f only-header

이렇게 하면 헤더의 이름이 출력됩니다:

x-api-key
Cookie

쿠키만

모든 쿠키 이름을 나열하려면 only-cookie를 사용하세요:

noir -b . -f only-cookie

이렇게 하면 쿠키의 이름만 표시됩니다:

my_auth

태그만

엔드포인트에 태그를 적용했다면 only-tag로 나열할 수 있습니다:

noir -b . -f only-tag -T

이렇게 하면 모든 고유 태그가 출력됩니다:

sqli
oauth
websocket

마크다운 테이블 형식

모든 엔드포인트와 해당 매개변수의 깔끔하고 사람이 읽기 쉬운 테이블을 원한다면 markdown-table 형식을 사용하세요:

noir -b . -f markdown-table

이렇게 하면 문서나 보고서에 쉽게 복사할 수 있는 마크다운 테이블이 생성됩니다:

EndpointProtocolParams
GET /httpx-api-key (header)
POST /queryhttpmy_auth (cookie) query (form)
GET /tokenhttpclient_id (form) redirect_url (form) grant_type (form)
GET /socketws
GET /1.htmlhttp
GET /2.htmlhttp

JSON Lines (JSONL) 형식

대용량 데이터셋을 스트리밍하거나 라인별로 처리하려면 jsonl 형식을 사용하세요:

noir -b . -f jsonl

이렇게 하면 각 줄이 단일 엔드포인트를 나타내는 JSON 객체가 한 줄에 하나씩 출력됩니다:

{"url":"/","method":"GET","params":[{"name":"x-api-key","type":"header","value":""}]}
{"url":"/query","method":"POST","params":[{"name":"my_auth","type":"cookie","value":""},{"name":"query","type":"form","value":""}]}
{"url":"/token","method":"GET","params":[{"name":"client_id","type":"form","value":""}]}

이 형식은 다음과 같은 경우에 특히 유용합니다:

  • 대용량 결과 세트의 스트리밍 처리
  • 로그 처리 도구와의 통합
  • 전체 결과 세트를 메모리에 로드하지 않고 라인별 분석

Postman 컬렉션 형식

Postman에 직접 가져올 수 있는 Postman 컬렉션을 생성하려면 postman 형식을 사용하세요:

noir -b . -f postman -u https://api.example.com

이렇게 하면 발견된 모든 엔드포인트를 메서드, 헤더 및 매개변수와 함께 포함하는 Postman Collection v2.1 형식의 JSON 파일이 생성됩니다. 이 출력을 파일로 저장하고 Postman에 가져와서 대화형 API 테스트를 수행할 수 있습니다.

{
  "info": {
    "name": "Noir Scan Results",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "GET /",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "x-api-key",
            "value": ""
          }
        ],
        "url": "https://api.example.com/"
      }
    }
  ]
}

HTML 보고서 형식

스캔 결과의 시각적 HTML 보고서를 생성하려면 html 형식을 사용하세요:

noir -b . -f html -o report.html

이렇게 하면 웹 브라우저에서 열 수 있는 대화형 HTML 문서가 생성됩니다. 보고서에는 다음이 포함됩니다:

  • 발견된 엔드포인트 요약
  • 상세한 매개변수 정보
  • 쉽게 읽을 수 있는 시각적 서식
  • 필터링 및 검색을 위한 대화형 요소

이 형식은 다음과 같은 경우에 이상적입니다:

  • 비기술적 이해관계자와 결과 공유
  • 감사 보고서 작성
  • 문서화 목적
  • API 표면의 시각적 검사

이러한 특수화된 형식을 사용하면 필요한 정확한 정보를 추출하여 추가 처리, 문서화 또는 다른 도구와의 통합을 위해 사용할 수 있습니다.