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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/damian89/extended-ssrf-search
Vulnerability ScannersWeb SecurityFuzzingPenetration Testing
GitHubdamian89/extended-ssrf-search

extended-ssrf-search

POST 및 GET에서 매개변수 무차별 대입과 같은 다양한 방법을 사용하는 스마트 SSRF 스캐너...

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

확장된 SSRF 검색

이 도구는 사전 정의된 설정을 사용하여 다양한 요청 부분(경로, 호스트, 헤더, POST 및 GET 파라미터)에서 SSRF를 검색합니다.

첫 번째 단계

__example.app-settings.conf__를 __app-settings.conf__로 이름을 바꾸고 설정을 조정하세요. 가장 중요한 설정은 콜백 URL입니다. Burp Collaborator 사용을 권장합니다.

그런 다음 config/url-to-test.txt에 URL을 추가할 수 있습니다. 이 스크립트는 도메인뿐만 아니라 경로와 쿼리 파라미터가 포함된 URL도 허용합니다.

원한다면 config/cookie-jar.txt에 자신의 쿠키를 추가하고 요청에 추가 헤더를 추가할 수 있습니다. POST 및 GET 요청에 사용되는 무차별 대입 목록은 현재 작습니다. 2000개의 파라미터를 추가하는 것은 현명하지 않다고 생각합니다. 취약할 가능성이 가장 높은 파라미터에 집중해야 합니다. 동의하지 않는다면 직접 추가하세요!

실행

이 도구는 CLI를 통해 인수를 받지 않으므로 그냥 입력하세요:

root@kitploit:~
python3 extended-ssrf-search.py

구성

많은 옵션과 설정을 지정할 수 있으므로 몇 가지 설명을 제공합니다.

파일

기본 구성 파일은 "app-settings.conf"이며 모든 작업은 해당 파일에서 이루어져야 합니다! 그 외에도 헤더, URL, 쿠키와 같은 더 복잡한 데이터를 설정할 수 있는 다른 파일들이 있습니다.

config/cookie-jar.txt

이 파일을 사용하여 쿠키 문자열을 추가하세요. 저는 보통 모든 Burp 요청에서 볼 수 있는 쿠키를 복사합니다. "Cookie:" 헤더의 값만 복사하세요. 샘플 입력은 기본 파일에 있습니다.

config/http-headers.txt

이 파일은 요청에 추가되고 조작되는 HTTP 헤더를 정의합니다 (각 헤더에 페이로드가 추가됩니다). 가장 중요한 헤더들은 이미 파일에 있습니다. 하지만 더 추가해도 됩니다.

config/parameters.txt

이 도구는 GET 및 POST 파라미터를 무차별 대입하는 옵션이 있습니다. 이 경우 해당 파라미터(+ 쿼리 문자열의 파라미터)가 사용됩니다. 각 파라미터는 페이로드를 값으로 받습니다. 가장 중요한 파라미터들은 이미 해당 파일에 있습니다.

config/static-request-headers.txt

이 헤더들은 모든 요청에 추가되지만 조작되지는 않습니다. 정적 헤더입니다. 인증 또는 Bearer 쿠키를 추가하기에 가장 좋은 위치입니다. 한 줄에 하나의 (키: 값) 형식입니다!

config/urls-to-test.txt

이것이 필요한 파일입니다! 스캔할 링크를 여기에 추가하세요. 다음 형식이 허용됩니다:

  • https://domain.com
  • https://domain.com/path
  • https://domain.com/path?param=value&param1=value1
  • domain.com

마지막 경우가 감지되면 "http://"가 앞에 추가됩니다. 이 도구는 양호한 URL 목록과 함께 작동하도록 설계되었습니다. 좋은 목록을 얻는 방법은 Burp을 사용하여 내보내는 것입니다. 그러면 유효한 URL 목록을 얻을 수 있습니다. 쿠키만 추가하면 됩니다.

설정

app-settings.conf는 프로그램 워크플로를 정의합니다. 가장 중요한 파일이며 여기서 다양한 모듈을 활성화/비활성화할 수 있습니다.

기본 설정

CallbackHost

모든 DNS 및 HTTP 요청이 다시 전송되는 URL/호스트입니다. 저는 주로 Burp Collaborator를 사용하지만 DNSBin이나 자체 서버도 완벽합니다.

HTTPMethod

요청 메서드를 정의합니다. 유효한 옵션: GET, POST, PUT, DELETE, PATCH, GET, OPTIONS 잘못된 값은 http.client가 다른 메서드를 허용하지 않으므로 심각한 오류를 발생시킵니다! 여기서 실수하는지 확인하지 않습니다 ;)

HTTPTimeout

일부 요청은 오래 걸릴 수 있습니다. 여기서 하나의 요청에 대한 최대 실행 시간을 정의할 수 있습니다. 2~6초 사이의 값을 권장합니다.

MaxThreads

스레드가 많을수록 스크립트가 빨라지지만, 많은 연결을 처리하기 때문에 개인 컴퓨터에서는 보통 10 미만으로, VPS에서는 약 30으로 유지합니다.

ShuffleTests

특히 큰 URL 목록을 다룰 때 이 값을 "true"로 설정하면 생성된 모든 테스트가 섞입니다. 이렇게 하면 동일한 호스트가 너무 많이 요청되지 않습니다. 하나의 호스트만 스캔하는 경우에는 상관없습니다.

GetChunkSize

더 큰 파라미터 목록을 다룰 때 유용하며 400 Too Large Entity 오류를 방지할 수 있습니다.

삽입 지점

각 삽입 지점은 활성화(true/1로 설정) 또는 비활성화(false/0으로 설정)할 수 있습니다.

InPath

예제는 GET 요청을 보여주지만 설정에 따라 POST, PUT, DELETE 등이 될 수도 있습니다.

root@kitploit:~
GET [INJECT HERE PAYLOAD] HTTP/1.1
...

InHost

예제는 GET 요청을 보여주지만 설정에 따라 POST, PUT, DELETE 등이 될 수도 있습니다.

root@kitploit:~
GET /path HTTP/1.1
Host: [INJECT HERE PAYLOAD]
...

InAdditionalHeaders

예제는 GET 요청을 보여주지만 설정에 따라 POST, PUT, DELETE 등이 될 수도 있습니다.

root@kitploit:~
GET /path HTTP/1.1
...
X-Forwarded-For: [INJECT HERE PAYLOAD]

InParamsGet

여기서 메서드는 GET으로 고정됩니다.

root@kitploit:~
GET /path?[INJECT HERE PAYLOAD] HTTP/1.1
...

InParamsPost

여기서 메서드는 POST로 고정됩니다.

root@kitploit:~
POST /path HTTP/1.1
...
Content-Type: application/x-www-form-urlencoded
Content-Length: XXX

[INJECT HERE PAYLOAD]

InParamsPostAsJson

여기서 메서드는 POST로 고정됩니다.

root@kitploit:~
POST /path HTTP/1.1
...
Content-Type: application/json
Content-Length: XXX

[INJECT HERE JSON-PAYLOAD]

공격

기본 설정에서 이 도구는 SSRF를 통해 HTTP 요청을 트리거하려고 시도합니다. 하지만 OS 명령이 주입될 때 DNS를 사용하여 데이터를 유출하는 것도 가능합니다. 가장 일반적인 페이로드는 "$(hostname)"입니다. 이와 같은 공격을 추가로 사용할 수 있는 몇 가지 옵션이 있습니다.

UseExecPayload

이 설정을 사용하여 해당 동작을 활성화/비활성화할 수 있습니다.

ExecPayload

여기서 자신의 페이로드를 정의할 수 있습니다. 예: $(uname -a)

식별자

식별을 좀 더 쉽게 하기 위해 현재 호스트와 메서드의 조합(약식, Tests.py 참조)이 페이로드에 추가되거나 앞에 붙습니다.

Position

유효한 옵션은 "append"와 "prepend"입니다!

"append"를 선택하면 페이로드는 다음과 같이 보입니다:

root@kitploit:~
....burpcollaborator.net/www.attacked-domain.com-testmethod
http://....burpcollaborator.net/www.attacked-domain.com-testmethod

"prepend"를 선택하면 페이로드는 다음과 같이 보입니다:

root@kitploit:~
www.attacked-domain.com-testmethod.burpcollaborator.net
http://www.attacked-domain.com-testmethod.burpcollaborator.net/

터널링

터널(예: "127.0.0.1:8080" (Burp 프록시))을 사용하여 Burp 내에서 모든 트래픽을 모니터링할 수도 있습니다.

Active

이 값을 "true"로 설정하면 스크립트가 터널링된 연결을 사용하도록 강제합니다.

Tunnel

여기에 프록시 서버 "ip:port"를 설정하세요.

결과는 다음과 같습니다. Burp를 열면 HTTP 기록을 볼 수 있습니다:

Screen

스크린샷

Screen

기능 요청

이슈를 생성하고 기능 요청으로 태그해 주세요.

지원

이 도구가 마음에 드시나요? 바운티를 받는 데 도움이 되었나요? 보답하거나 저를 지원하고 싶으신가요? 왜 안 되겠어요!

PayPal로 기부: 클릭

도구 다운로드