Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
filtron — 필터링 역방향 HTTP 프록시 | Kitploit
도구/GitHubGitHub/asciimoo/filtron
Defensive ToolsWeb SecurityAPI Security
GitHubasciimoo/filtron

filtron

필터링 역방향 HTTP 프록시

저장소 보기
174263년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Filtron

다양한 규칙으로 요청을 필터링하는 역방향 HTTP 프록시입니다. 프로덕션 웹 서버와 애플리케이션 서버 사이에서 애플리케이션 백엔드의 남용을 방지하는 데 사용할 수 있습니다.

이 프로그램의 원래 목적은 searx를 보호하는 것이었지만, 모든 웹 애플리케이션을 보호하는 데 사용할 수 있습니다.

설치 및 설정

root@kitploit:~
$ go install github.com/asciimoo/filtron
$ "$GOPATH/bin/filtron" --help

규칙

규칙에는 필수 속성인 name과 actions가 있습니다.

규칙은 다음 속성을 모두 포함할 수 있습니다:

  • limit 정수 - 일치하는 요청이 interval 초 내에 애플리케이션에 액세스할 수 있는 횟수를 정의합니다. (0인 경우 생략 가능)
  • interval 정수 - 규칙 번호를 초기화하는 시간 범위(초) (limit이 0이면 생략 가능)
  • filters 선택자 목록
  • aggregations 선택자 목록 (filters가 지정된 경우 필터가 일치할 때만 활성화)
  • subrules 규칙 목록 (filters가 지정된 경우 필터가 일치할 때만 활성화)
  • disabled bool - 규칙 비활성화 (기본값은 false)
  • stop bool - 요청 검증을 즉시 종료하고 나머지 규칙을 건너뜁니다 (기본값은 false)

규칙의 JSON 표현:

root@kitploit:~
{
    "name": "example rule",
    "interval": 60,
    "limit": 10,
    "filters": ["GET:q", "Header:User-Agent=^curl"],
    "actions": [
        {"name": "log",
         "params": {"destination": "stderr"}},
        {"name": "block",
         "params": {"message": "Not allowed"}}
     ]
}

설명: q가 GET 매개변수로 표시되고 사용자 에이전트 헤더가 curl로 시작하는 경우 분당 10개의 요청만 허용합니다. 제한을 초과하면 요청이 STDERR에 기록되고 사용자 지정 오류 메시지와 함께 차단됩니다. 더 많은 예제는 여기에서 확인하세요.

actions

규칙의 작업은 요청이 규칙의 제한을 초과하면 순차적으로 활성화됩니다.

참고: 사용자 지정 응답을 제공하는 규칙의 첫 번째 작업만 실행됩니다.

현재 구현된 작업

log

요청 기록

block

요청을 애플리케이션에 전달하는 대신 HTTP 429 응답 제공

shell

셸 명령 실행. cmd(문자열)와 args(선택자 목록)는 필수 매개변수입니다. (예: {"name": "shell", "params": {"cmd": "echo %v is the IP", "args": ["IP"]}})

filters

모든 선택자가 발견되면 카운터가 증가합니다. 카운터가 limit에 도달하면 규칙이 요청을 차단합니다.

aggregations

선택자가 반환한 값을 계산합니다. 값의 개수가 limit에 도달하면 규칙이 요청을 차단합니다.

subrules

각 규칙은 원하는 수의 하위 규칙을 포함할 수 있습니다. 상위 규칙의 필터 일치 시 활성화됩니다.

선택자

선택자 표현식을 사용하여 요청의 여러 부분을 추출할 수 있습니다.

선택자는 다음 구문을 사용하여 HTTP 요청의 모든 속성과 일치할 수 있는 문자열입니다:

root@kitploit:~
[!]RequestAttribute[:SubAttribute][=Expression]
  • ! 선택자를 부정할 수 있습니다.
  • RequestAttribute (필수) 요청의 특정 부분을 선택 - 가능한 값:
    • 단일 값
      • IP
      • Host
      • Path
      • Method
    • 다중 값
      • GET
      • POST
      • Param - GET과 POST 모두의 별칭입니다.
      • Cookie
      • Header
  • SubAttribute 가 단일 값이 아닌 경우, 내부 속성을 지정할 수 있습니다.

예제

IP 클라이언트의 IP 주소 반환

GET:x 존재하는 경우 x GET 매개변수 반환

!Header:Accept-Language Accept-Language HTTP 헤더가 없으면 true 반환

Path=^/(x|y)$ 경로가 /x 또는 /y인 경우 일치

IP=nslookup(example.com) 클라이언트의 IP 주소가 example.com의 IP 주소 중 하나인 경우 일치

API

Filtron은 기본적으로 127.0.0.1:4005에서 수신 대기하는 REST API를 통해 구성할 수 있습니다.

API 엔드포인트

/rules

JSON 형식의 로드된 규칙

/rules/reload

시작 시 지정된 규칙 파일 다시 로드

WebUI

API 기반 UI

webui

버그

버그나 제안이 있으신가요? 이슈 트래커를 방문하세요.

도구 다운로드
RequestAttribute
  • Expression 가능한 값:
    • 선택한 속성 값을 필터링하는 정규 표현식.
    • nslookup(Hostname) Hostname의 IP 주소로 선택한 속성 값을 필터링합니다. Filtron은 규칙이 로드될 때 Hostname을 해당 IP 주소로 확인합니다(IPv4 및 IPv6).