[역량강화] Curl 이란?
반응형
- 2024.05.17 -
세번째 역량강화 과제 기록.
오늘은 CURL에 대해 알아보았다.
목 차
1. Curl이란?
2. CURL 옵션은?
3. CURL 응답 값 중에 HTTP 상태코드만 출력되는 방법 찾기(응용)
4. 접속가능 여부를 조사하는 배치파일 만들기
(txt파일을 로드해서 csv로 정리 및 저장하기)

01. CURL란?
CURL은 Client URL의 약자로 커맨드 라인 도구 이다.
URL을 통해 데이터를 전송하고 받을 수 있는 다목적 전송 도구로 다양한 프로토콜을 지원하며
주로 웹 서버와의 통신, API호출 등에 사용되며 사용자는 cmd에서 curl 명령어를 사용하여 작업을 수행한다.
※ 지원하는 프로토콜 목록 ※
- http
- https
- ftp
-ftps
-scip
-sftp
-ldap
-telnet
02. CURL 옵션
| No | 옵션 | 설명 | ||
| 1 | -X | --request | HTTP 메소드를 지정 | |
| 사용 예시 | curl -X GET http://example.com | curl -X POST http://example.com/data | |||
| 2 | -d | --data | HTTP POST 요청 시 데이터를 지정 | |
| 사용 예시 | curl -d "username=user&password=pass" http://example.com/login | |||
| 3 | -H | --header | curl -H "Content-Type: application/json" http://example.com/api | |
| 사용 예시 | HTTP 헤더를 추가 | |||
| 4 | -i | --include | 서버 응답 헤더를 출력 | |
| 사용 예시 | curl -i http://example.com | |||
| 5 | -o | --output | 출력을 파일로 저장 | |
| 사용 예시 | curl -o output.html http://example.com/page.html | |||
| 6 | -L | -Location | 서버가 리다이렉션을 하면, 따라가서 수행 | |
| 사용 예시 | curl -L http://example.com/redirect | |||
| 7 | -u | --user | 인증을 위한 사용자 이름과 비밀번호를 지정 | |
| 사용 예시 | curl -u username:password http://example.com | |||
| 8 | -F | --form | 멀티파트 MIME데이터를 전송할 때 사용 | |
| 사용 예시 | curl -F "file=@/path/to/file.txt" http://example.com/upload | |||
| 9 | -v | --verbose | 상세한 정보를 출력 | |
| 사용 예시 | curl -v http://example.com | |||
| 10 | -s | --silent | 진행 정보 미출력 | |
| 사용 예시 | curl -s http://example.com | |||
03. CURL 응답 값 중 HTTP 상태코드만 출력되는 방법 찾기

상태코드 200 ok 출력
curl -s -o nul -w "%{http_code}" "www.google.com"
04. 접속가능여부를 조사하는 배치파일 만들기
@echo off
title Curl Explorer
setlocal enabledelayedexpansion
echo #### ## ## ###### #### ####### ## ## ###### #### ##### ###### ####### ######
echo ## ## ## ## ## ## ## ## # ## ## ## ## ## ## ## ## ## ## # ## ##
echo ## ## ## ## ## ## ## # #### ## ## ## ## ## ## ## ## # ## ##
echo ## ## ## ##### ## #### ## ##### ## ## ## ##### #### #####
echo ## ## ## ## ## ## # ## # #### ## ## # ## ## ## ## ## # ## ##
echo ## ## ## ## ## ## ## ## ## # ## ## ## ## ## ## ## ## ## ## # ## ##
echo #### ##### #### ## ####### ####### ## ## #### ####### ##### #### ## ####### #### ##
rem 배치 파일의 현재 디렉토리를 확인.
set "script_dir=%~dp0"
cd /d "%script_dir%"
set input_file=domains.txt
set output_file=output.csv
if not exist "%input_file%" (
echo "domains.txt 파일을 찾을 수 없습니다."
exit /b
)
echo "Domain","Status Code","Status" > %output_file%
for /f %%a in (%input_file%) do (
set domain=%%a
for /f "tokens=*" %%b in ('curl -s -o nul -w "%%{http_code}" %%a') do (
if "%%b" geq "200" if "%%b" leq "299" (
echo !domain!,%%b,접속 가능 >> %output_file%
) else if "%%b" geq "300" if "%%b" leq "399" (
echo !domain!,%%b,접속 가능 >> %output_file%
) else (
echo !domain!,%%b,접속 불가 >> %output_file%
)
)
)
echo CSV 파일이 생성되었습니다: %output_file%
echo 5초후 창이 자동으로 닫힙니다.
timeout /t 5 >nul
반응형
'Red Team > 정보보안' 카테고리의 다른 글
| CVSS 3.1 Calculate 및 각 명칭 별 설명 (2) | 2024.12.23 |
|---|---|
| [SMTP] SMTP 상태코드(에러코드)별 종류와 이유 (1) | 2024.06.04 |
| [역량강화] 서브도메인 스캔과 nmap 사용법 및 OSINT (1) | 2024.06.03 |
| [역량강화] TLS 1.0, TLS 1.1 버전이 취약한 이유 (0) | 2024.03.21 |
댓글
이 글 공유하기
다른 글
-
CVSS 3.1 Calculate 및 각 명칭 별 설명
CVSS 3.1 Calculate 및 각 명칭 별 설명
2024.12.23 -
[SMTP] SMTP 상태코드(에러코드)별 종류와 이유
[SMTP] SMTP 상태코드(에러코드)별 종류와 이유
2024.06.04 -
[역량강화] 서브도메인 스캔과 nmap 사용법 및 OSINT
[역량강화] 서브도메인 스캔과 nmap 사용법 및 OSINT
2024.06.03 -
[역량강화] TLS 1.0, TLS 1.1 버전이 취약한 이유
[역량강화] TLS 1.0, TLS 1.1 버전이 취약한 이유
2024.03.21