HTTP 클라이언트 명령어

발견된 엔드포인트를 바로 실행할 수 있는 HTTP 클라이언트 명령어로 변환합니다. -u로 base URL을 지정하면 경로 앞에 자동으로 붙여줍니다.

cURL

cURL은 가장 널리 쓰이는 커맨드라인 HTTP 클라이언트입니다. 생성되는 명령어에는 -i(응답 헤더 포함), -X(HTTP 메서드), -d(요청 바디), -H(헤더), --cookie(쿠키) 등의 플래그가 적절히 들어갑니다.

noir scan . -f curl -u https://www.example.com

출력 예시

curl -i -X GET https://www.example.com/ -H "x-api-key: "
curl -i -X POST https://www.example.com/query -d "query=" --cookie "my_auth="
curl -i -X GET https://www.example.com/token -d "client_id=&redirect_url=&grant_type="

HTTPie

HTTPie는 cURL보다 직관적인 문법에 컬러 출력과 JSON 지원이 기본 내장된 HTTP 클라이언트입니다.

noir scan . -f httpie -u https://www.example.com

출력 예시

http GET https://www.example.com/ "x-api-key: "
http POST https://www.example.com/query "query=" "Cookie: my_auth="
http GET https://www.example.com/token "client_id=&redirect_url=&grant_type="

PowerShell

Windows 환경이라면 별도 도구 설치 없이 바로 쓸 수 있는 Invoke-WebRequest 명령어를 생성합니다.

noir scan . -f powershell -u https://www.example.com

출력 예시

Invoke-WebRequest -Method GET -Uri "https://www.example.com/" -Headers @{"x-api-key"=""}
Invoke-WebRequest -Method POST -Uri "https://www.example.com/query" -Headers @{"Cookie"="my_auth="} -Body "query=" -ContentType "application/x-www-form-urlencoded"
Invoke-WebRequest -Method GET -Uri "https://www.example.com/token" -Body "client_id=&redirect_url=&grant_type=" -ContentType "application/x-www-form-urlencoded"

파라미터 값 채우기

Noir는 기본적으로 파라미터 값을 비워두기 때문에(x-api-key=, query= …) 생성된 명령은 템플릿처럼 동작합니다. 그대로 실행하거나 퍼징 입력 시드를 만들고 싶다면 --pvalue 로 값을 미리 채울 수 있습니다.

--pvalue TYPE=VALUE     # 반복 가능
TYPE 적용 범위
any (생략 가능) 모든 파라미터 타입
query 쿼리 스트링
form 폼 바디 (application/x-www-form-urlencoded)
json JSON 바디
header 요청 헤더
cookie 쿠키
path 경로 파라미터

VALUE는 두 가지 형태를 받습니다.

형태 동작
<value> 대상 타입의 모든 파라미터에 사용
<name>=<value> 또는 <name>:<value> 이름이 <name>인 파라미터에만 사용

--pvalue 는 반복 사용 가능하며, 동일 파라미터에 매치되면 타입별 규칙이 일반 any 스코프보다 우선합니다.

# 모든 파라미터를 `test`로 채움
noir scan . -f curl -u https://example.com --pvalue "test"

# `Authorization` 헤더와 `id` 경로 파라미터에만 값 채움
noir scan . -f curl -u https://example.com \
  --pvalue "header=Authorization=Bearer xyz" \
  --pvalue "path=id=42"

# 쿼리는 기본 `1`이지만 `limit`은 항상 10
noir scan . -f curl -u https://example.com \
  --pvalue "query=1" \
  --pvalue "query=limit=10"

같은 플래그는 HTTPie와 PowerShell 출력에도 적용되며, OpenAPI / Postman / JSON 등 값이 렌더링되는 다른 형식에도 전파됩니다.

레거시: v0 의 --set-pvalue, --set-pvalue-query, --set-pvalue-header 등은 v1.x 에서 silent alias 로 그대로 동작합니다. 새 스크립트는 위의 통합된 --pvalue TYPE=VALUE 를 우선 사용하세요.

Esc