機能 • インストール • 使用法 • スコープ • 設定 • フィルター • Discord に参加する
katana を正常にインストールするにはGo 1.18 が必要です。インストールするには、以下のコマンドを実行するか、リリースページからコンパイル済みのバイナリをダウンロードするだけです。
CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest
katana をインストール/実行するためのその他のオプション
Docker を最新のタグにインストール/更新するには -
docker pull projectdiscovery/katana:latest
docker を使用して標準モードで katana を実行するには -
docker run projectdiscovery/katana:latest -u https://tesla.com
docker を使用してヘッドレスモードで katana を実行するには -
docker run projectdiscovery/katana:latest -u https://tesla.com -system-chrome -headless
次の前提条件をインストールすることをお勧めします。
sudo apt update
sudo snap refresh
sudo apt install zip curl wget git
sudo snap install golang --classic
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c ' echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list '
sudo apt update
sudo apt install google-chrome-stable
カタナをインストールします -
go install github.com/projectdiscovery/katana/cmd/katana@latest
katana -h
これにより、ツールのヘルプが表示されます。サポートされているすべてのスイッチは次のとおりです。
Katana is a fast crawler focused on execution in automation
pipelines offering both headless and non-headless crawling.
Usage:
./katana [flags]
Flags:
INPUT:
-u, -list string[] target url / list to crawl
-resume string resume scan using resume.cfg
-e, -exclude string[] exclude host matching specified filter ('cdn', 'private-ips', cidr, ip, regex)
CONFIGURATION:
-r, -resolvers string[] list of custom resolver (file or comma separated)
-d, -depth int maximum depth to crawl (default 3)
-jc, -js-crawl enable endpoint parsing / crawling in javascript file
-jsl, -jsluice enable jsluice parsing in javascript file (memory intensive)
-ct, -crawl-duration value maximum duration to crawl the target for (s, m, h, d) (default s)
-kf, -known-files string enable crawling of known files (all,robotstxt,sitemapxml), a minimum depth of 3 is required to ensure all known files are properly crawled.
-mrs, -max-response-size int maximum response size to read (default 9223372036854775807)
-timeout int time to wait for request in seconds (default 10)
-aff, -automatic-form-fill enable automatic form filling (experimental)
-fx, -form-extraction extract form, input, textarea & select elements in jsonl output
-retry int number of times to retry the request (default 1)
-proxy string http/socks5 proxy to use
-H, -headers string[] custom header/cookie to include in all http request in header:value format (file)
-config string path to the katana configuration file
-fc, -form-config string path to custom form configuration file
-flc, -field-config string path to custom field configuration file
-s, -strategy string Visit strategy (depth-first, breadth-first) (default "depth-first")
-iqp, -ignore-query-params Ignore crawling same path with different query-param values
-tlsi, -tls-impersonate enable experimental client hello (ja3) tls randomization
-dr, -disable-redirects disable following redirects (default false)
DEBUG:
-health-check, -hc run diagnostic check up
-elog, -error-log string file to write sent requests error log
HEADLESS:
-hl, -headless enable headless hybrid crawling (experimental)
-sc, -system-chrome use local installed chrome browser instead of katana installed
-sb, -show-browser show the browser on the screen with headless mode
-ho, -headless-options string[] start headless chrome with additional options
-nos, -no-sandbox start headless chrome in --no-sandbox mode
-cdd, -chrome-data-dir string path to store chrome browser data
-scp, -system-chrome-path string use specified chrome browser for headless crawling
-noi, -no-incognito start headless chrome without incognito mode
-cwu, -chrome-ws-url string use chrome browser instance launched elsewhere with the debugger listening at this URL
-xhr, -xhr-extraction extract xhr request url,method in jsonl output
SCOPE:
-cs, -crawl-scope string[] in scope url regex to be followed by crawler
-cos, -crawl-out-scope string[] out of scope url regex to be excluded by crawler
-fs, -field-scope string pre-defined scope field (dn,rdn,fqdn) or custom regex (e.g., '(company-staging.io|company.com)') (default "rdn")
-ns, -no-scope disables host based default scope
-do, -display-out-scope display external endpoint from scoped crawling
FILTER:
-mr, -match-regex string[] regex or list of regex to match on output url (cli, file)
-fr, -filter-regex string[] regex or list of regex to filter on output url (cli, file)
-f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir)
-sf, -store-field string field to store in per-host output (url,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir)
-em, -extension-match string[] match output for given extension (eg, -em php,html,js)
-ef, -extension-filter string[] filter output for given extension (eg, -ef png,css)
-mdc, -match-condition string match response with dsl based condition
-fdc, -filter-condition string filter response with dsl based condition
RATE-LIMIT:
-c, -concurrency int number of concurrent fetchers to use (default 10)
-p, -parallelism int number of concurrent inputs to process (default 10)
-rd, -delay int request delay between each request in seconds
-rl, -rate-limit int maximum requests to send per second (default 150)
-rlm, -rate-limit-minute int maximum number of requests to send per minute
UPDATE:
-up, -update update katana to latest version
-duc, -disable-update-check disable automatic katana update check
OUTPUT:
-o, -output string file to write output to
-sr, -store-response store http requests/responses
-srd, -store-response-dir string store http requests/responses to custom directory
-sfd, -store-field-dir string store per-host field to custom directory
-or, -omit-raw omit raw requests/responses from jsonl output
-ob, -omit-body omit response body from jsonl output
-j, -jsonl write output in jsonl format
-nc, -no-color disable output content coloring (ANSI escape codes)
-silent display output only
-v, -verbose display verbose output
-debug display debug output
-version display project version
katana はクロールするためにURLまたはエンドポイントを必要とし、単一または複数の入力を受け入れます。
入力 URL は-u
オプションを使用して指定でき、複数の値はカンマ区切り入力を使用して指定できます。同様に、ファイル入力は-list
オプションを使用してサポートされ、さらにパイプ入力 (stdin) もサポートされます。
katana -u https://tesla.com
katana -u https://tesla.com,https://google.com
$ cat url_list.txt
https://tesla.com
https://google.com
katana -list url_list.txt
echo https://tesla.com | katana
cat domains | httpx | katana
刀の走行例 -
katana -u https://youtube.com
__ __
/ /_____ _/ /____ ____ ___ _
/ '_/ _ / __/ _ / _ / _ /
/_/_\_,_/__/_,_/_//_/_,_/ v0.0.1
projectdiscovery.io
[WRN] Use with caution. You are responsible for your actions.
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
https://www.youtube.com/
https://www.youtube.com/about/
https://www.youtube.com/about/press/
https://www.youtube.com/about/copyright/
https://www.youtube.com/t/contact_us/
https://www.youtube.com/creators/
https://www.youtube.com/ads/
https://www.youtube.com/t/terms
https://www.youtube.com/t/privacy
https://www.youtube.com/about/policies/
https://www.youtube.com/howyoutubeworks?utm_campaign=ytgen&utm_source=ythp&utm_medium=LeftNav&utm_content=txt&u=https%3A%2F%2Fwww.youtube.com%2Fhowyoutubeworks%3Futm_source%3Dythp%26utm_medium%3DLeftNav%26utm_campaign%3Dytgen
https://www.youtube.com/new
https://m.youtube.com/
https://www.youtube.com/s/desktop/4965577f/jsbin/desktop_polymer.vflset/desktop_polymer.js
https://www.youtube.com/s/desktop/4965577f/cssbin/www-main-desktop-home-page-skeleton.css
https://www.youtube.com/s/desktop/4965577f/cssbin/www-onepick.css
https://www.youtube.com/s/_/ytmainappweb/_/ss/k=ytmainappweb.kevlar_base.0Zo5FUcPkCg.L.B1.O/am=gAE/d=0/rs=AGKMywG5nh5Qp-BGPbOaI1evhF5BVGRZGA
https://www.youtube.com/opensearch?locale=en_GB
https://www.youtube.com/manifest.webmanifest
https://www.youtube.com/s/desktop/4965577f/cssbin/www-main-desktop-watch-page-skeleton.css
https://www.youtube.com/s/desktop/4965577f/jsbin/web-animations-next-lite.min.vflset/web-animations-next-lite.min.js
https://www.youtube.com/s/desktop/4965577f/jsbin/custom-elements-es5-adapter.vflset/custom-elements-es5-adapter.js
https://www.youtube.com/s/desktop/4965577f/jsbin/webcomponents-sd.vflset/webcomponents-sd.js
https://www.youtube.com/s/desktop/4965577f/jsbin/intersection-observer.min.vflset/intersection-observer.min.js
https://www.youtube.com/s/desktop/4965577f/jsbin/scheduler.vflset/scheduler.js
https://www.youtube.com/s/desktop/4965577f/jsbin/www-i18n-constants-en_GB.vflset/www-i18n-constants.js
https://www.youtube.com/s/desktop/4965577f/jsbin/www-tampering.vflset/www-tampering.js
https://www.youtube.com/s/desktop/4965577f/jsbin/spf.vflset/spf.js
https://www.youtube.com/s/desktop/4965577f/jsbin/network.vflset/network.js
https://www.youtube.com/howyoutubeworks/
https://www.youtube.com/trends/
https://www.youtube.com/jobs/
https://www.youtube.com/kids/
標準のクローリング モダリティでは、内部で標準の go http ライブラリを使用して HTTP リクエスト/応答を処理します。このモダリティはブラウザーのオーバーヘッドがないため、はるかに高速です。それでも、JavaScript や DOM レンダリングを行わずに、HTTP 応答の本文をそのまま分析します。そのため、ブラウザ固有のイベントなどに応じて、複雑な Web アプリケーションで発生する可能性のある、ポスト DOM レンダリングされたエンドポイントや非同期エンドポイント呼び出しが欠落している可能性があります。
ヘッドレス モードは、内部ヘッドレス呼び出しをフックして、ブラウザー コンテキスト内で HTTP リクエスト/応答を直接処理します。これには次の 2 つの利点があります。
ヘッドレス クロールはオプションであり、 -headless
オプションを使用して有効にできます。
他のヘッドレス CLI オプションは次のとおりです -
katana -h headless
Flags:
HEADLESS:
-hl, -headless enable headless hybrid crawling (experimental)
-sc, -system-chrome use local installed chrome browser instead of katana installed
-sb, -show-browser show the browser on the screen with headless mode
-ho, -headless-options string[] start headless chrome with additional options
-nos, -no-sandbox start headless chrome in --no-sandbox mode
-cdd, -chrome-data-dir string path to store chrome browser data
-scp, -system-chrome-path string use specified chrome browser for headless crawling
-noi, -no-incognito start headless chrome without incognito mode
-cwu, -chrome-ws-url string use chrome browser instance launched elsewhere with the debugger listening at this URL
-xhr, -xhr-extraction extract xhr requests
-no-sandbox
サンドボックスなしオプションを使用してヘッドレス Chrome ブラウザを実行します。root ユーザーとして実行する場合に便利です。
katana -u https://tesla.com -headless -no-sandbox
-no-incognito
シークレット モードなしでヘッドレス Chrome ブラウザを実行します。ローカル ブラウザを使用する場合に便利です。
katana -u https://tesla.com -headless -no-incognito
-headless-options
ヘッドレス モードでクロールする場合、 -headless-options
使用して追加のクロム オプションを指定できます。例:
katana -u https://tesla.com -headless -system-chrome -headless-options --disable-gpu,proxy-server=http://127.0.0.1:8080
このような Katana にはクロール スコープを定義するための複数のサポートが付属しているため、スコープを指定しない場合、クロールは無限に行われる可能性があります。
-field-scope
事前定義されたフィールド名でスコープを定義するための最も便利なオプションrdn
はフィールド スコープのデフォルト オプションです。
rdn
- ルート ドメイン名とすべてのサブドメイン (例: *example.com
) を対象としたクロール (デフォルト)fqdn
- 指定されたサブ (ドメイン) を対象としたクロール (例: www.example.com
またはapi.example.com
)dn
- ドメイン名キーワードをスコープとするクロール ( example
) katana -u https://tesla.com -fs dn
-crawl-scope
高度なスコープ制御の場合は、正規表現サポートが付属する-cs
オプションを使用できます。
katana -u https://tesla.com -cs login
複数のスコープ内ルールの場合、複数行の文字列/正規表現を含むファイル入力を渡すことができます。
$ cat in_scope.txt
login/
admin/
app/
wordpress/
katana -u https://tesla.com -cs in_scope.txt
-crawl-out-scope
クロールしない対象を定義するには、 -cos
オプションを使用でき、正規表現入力もサポートします。
katana -u https://tesla.com -cos logout
複数の範囲外のルールの場合、複数行の文字列/正規表現を含むファイル入力を渡すことができます。
$ cat out_of_scope.txt
/logout
/log_out
katana -u https://tesla.com -cos out_of_scope.txt
-no-scope
Katana のデフォルトのスコープは*.domain
ですが、この-ns
オプションを使用して無効にすることも、インターネットをクロールすることもできます。
katana -u https://tesla.com -ns
-display-out-scope
デフォルトとして、scope オプションを使用すると、出力として表示するリンクにも適用されます。そのような外部 URL はデフォルトで除外され、この動作を上書きします。 -do
オプションを使用して、ターゲットに存在するすべての外部 URL を表示できます。スコープ付き URL / エンドポイント。
katana -u https://tesla.com -do
スコープ制御のすべての CLI オプションは次のとおりです。
katana -h scope
Flags:
SCOPE:
-cs, -crawl-scope string[] in scope url regex to be followed by crawler
-cos, -crawl-out-scope string[] out of scope url regex to be excluded by crawler
-fs, -field-scope string pre-defined scope field (dn,rdn,fqdn) (default "rdn")
-ns, -no-scope disables host based default scope
-do, -display-out-scope display external endpoint from scoped crawling
Katana には、希望どおりにクロールを構成および制御するための複数のオプションが付属しています。
-depth
クロールのために URL をたどるdepth
を定義するオプション。深さが大きくなるほど、クロールされるエンドポイントの数とクロールの時間が増加します。
katana -u https://tesla.com -d 5
-js-crawl
JavaScript ファイルの解析と JavaScript ファイルで検出されたエンドポイントのクロールを有効にするオプション (デフォルトでは無効)。
katana -u https://tesla.com -jc
-crawl-duration
事前定義されたクロール期間のオプション。デフォルトでは無効になっています。
katana -u https://tesla.com -ct 2
-known-files
robots.txt
およびsitemap.xml
ファイルのクロールを有効にするオプション (デフォルトでは無効)。
katana -u https://tesla.com -kf robotstxt,sitemapxml
-automatic-form-fill
既知/未知のフィールドの自動フォーム入力を有効にするオプション。 $HOME/.config/katana/form-config.yaml
にあるフォーム構成ファイルを更新することで、必要に応じて既知のフィールド値をカスタマイズできます。
フォームの自動入力は実験的な機能です。
katana -u https://tesla.com -aff
認証されたクロールには、保護されたリソースにアクセスするための HTTP リクエストにカスタム ヘッダーまたは Cookie が含まれます。これらのヘッダーは認証または認可情報を提供し、認証されたコンテンツ/エンドポイントをクロールできるようにします。コマンド ラインでヘッダーを直接指定することも、認証されたクローリングを実行するために katana を使用してヘッダーをファイルとして提供することもできます。
注: ユーザーは認証を手動で実行し、セッション Cookie/ヘッダーを katana で使用するファイルにエクスポートする必要があります。
-headers
リクエストにカスタム ヘッダーまたは Cookie を追加するオプション。
HTTP仕様のヘッダーの構文
リクエストに Cookie を追加する例を次に示します。
katana -u https://tesla.com -H 'Cookie: usrsess=AmljNrESo'
ヘッダーまたは Cookie をファイルとして提供することもできます。例えば:
$ cat cookie.txt
Cookie: PHPSESSIONID=XXXXXXXXX
X-API-KEY: XXXXX
TOKEN=XX
katana -u https://tesla.com -H cookie.txt
必要に応じて設定できるオプションは他にもあります。ここでは、すべての設定関連の CLI オプションを示します。
katana -h config
Flags:
CONFIGURATION:
-r, -resolvers string[] list of custom resolver (file or comma separated)
-d, -depth int maximum depth to crawl (default 3)
-jc, -js-crawl enable endpoint parsing / crawling in javascript file
-ct, -crawl-duration int maximum duration to crawl the target for
-kf, -known-files string enable crawling of known files (all,robotstxt,sitemapxml)
-mrs, -max-response-size int maximum response size to read (default 9223372036854775807)
-timeout int time to wait for request in seconds (default 10)
-aff, -automatic-form-fill enable automatic form filling (experimental)
-fx, -form-extraction enable extraction of form, input, textarea & select elements
-retry int number of times to retry the request (default 1)
-proxy string http/socks5 proxy to use
-H, -headers string[] custom header/cookie to include in request
-config string path to the katana configuration file
-fc, -form-config string path to custom form configuration file
-flc, -field-config string path to custom field configuration file
-s, -strategy string Visit strategy (depth-first, breadth-first) (default "depth-first")
Katana は、ユーザーがすでにログインして認証されているアクティブなブラウザ セッションに接続することもできます。クロールに使用します。このための唯一の要件は、リモート デバッグを有効にしてブラウザを起動することです。
以下は、リモート デバッグを有効にして Chrome ブラウザを起動し、それを Katana で使用する例です。
ステップ 1) まず、Chrome 実行可能ファイルのパスを見つけます。
オペレーティング·システム | Chromium 実行可能ファイルの場所 | Google Chrome 実行可能ファイルの場所 |
---|---|---|
Windows (64ビット) | C:Program Files (x86)GoogleChromiumApplicationchrome.exe | C:Program Files (x86)GoogleChromeApplicationchrome.exe |
Windows(32ビット) | C:Program FilesGoogleChromiumApplicationchrome.exe | C:Program FilesGoogleChromeApplicationchrome.exe |
macOS | /Applications/Chromium.app/Contents/MacOS/Chromium | /Applications/Google Chrome.app/Contents/MacOS/Google Chrome |
Linux | /usr/bin/chromium | /usr/bin/google-chrome |
ステップ 2) リモート デバッグを有効にして Chrome を起動すると、WebSocker URL が返されます。たとえば、MacOS では、次のコマンドを使用して、リモート デバッグを有効にして Chrome を起動できます。
$ /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --remote-debugging-port=9222
DevTools listening on ws://127.0.0.1:9222/devtools/browser/c5316c9c-19d6-42dc-847a-41d1aeebf7d6
次に、クロールする Web サイトにログインし、ブラウザーを開いたままにします。
ステップ 3) 次に、katana で WebSocket URL を使用して、アクティブなブラウザー セッションに接続し、Web サイトをクロールします。
katana -headless -u https://tesla.com -cwu ws://127.0.0.1:9222/devtools/browser/c5316c9c-19d6-42dc-847a-41d1aeebf7d6 -no-incognito
注:
-cdd
オプションを使用して、ブラウザ データと Cookie を保存するカスタム Chrome データ ディレクトリを指定できますが、Cookie がSession
のみ] に設定されている場合、または一定時間後に期限切れになる場合、セッション データは保存されません。
-field
Katana には、必要な情報の出力をフィルタリングするために使用できる組み込みフィールドが付属しており、 -f
オプションを使用して利用可能なフィールドのいずれかを指定できます。
-f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,key,value,kv,dir,udir)
以下に、各フィールドの例と使用時に予想される出力を示した表を示します。
分野 | 説明 | 例 |
---|---|---|
url | URLエンドポイント | https://admin.projectdiscovery.io/admin/login?user=admin&password=admin |
qurl | クエリパラメータを含むURL | https://admin.projectdiscovery.io/admin/login.php?user=admin&password=admin |
qpath | クエリパラメータを含むパス | /login?user=admin&password=admin |
path | URLパス | https://admin.projectdiscovery.io/admin/login |
fqdn | 完全修飾ドメイン名 | admin.projectdiscovery.io |
rdn | ルートドメイン名 | projectdiscovery.io |
rurl | ルートURL | https://admin.projectdiscovery.io |
ufile | ファイル付きの URL | https://admin.projectdiscovery.io/login.js |
file | URL内のファイル名 | login.php |
key | URLのパラメータキー | user,password |
value | URLのパラメータ値 | admin,admin |
kv | URL 内のキー = 値 | user=admin&password=admin |
dir | URL ディレクトリ名 | /admin/ |
udir | ディレクトリを含む URL | https://admin.projectdiscovery.io/admin/ |
以下は、フィールド オプションを使用して、クエリ パラメーターを含むすべての URL のみを表示する例です。
katana -u https://tesla.com -f qurl -silent
https://shop.tesla.com/en_au?redirect=no
https://shop.tesla.com/en_nz?redirect=no
https://shop.tesla.com/product/men_s-raven-lightweight-zip-up-bomber-jacket?sku=1740250-00-A
https://shop.tesla.com/product/tesla-shop-gift-card?sku=1767247-00-A
https://shop.tesla.com/product/men_s-chill-crew-neck-sweatshirt?sku=1740176-00-A
https://www.tesla.com/about?redirect=no
https://www.tesla.com/about/legal?redirect=no
https://www.tesla.com/findus/list?redirect=no
正規表現ルールを使用して、ページ応答から特定の情報を抽出して保存するためのカスタム フィールドを作成できます。これらのカスタム フィールドは、YAML 構成ファイルを使用して定義され、デフォルトの場所$HOME/.config/katana/field-config.yaml
からロードされます。あるいは、 -flc
オプションを使用して、別の場所からカスタム フィールド構成ファイルをロードすることもできます。以下はカスタムフィールドの例です。
- name : email
type : regex
regex :
- ' ([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+.[a-zA-Z0-9_-]+) '
- ' ([a-zA-Z0-9+._-]+@[a-zA-Z0-9._-]+.[a-zA-Z0-9_-]+) '
- name : phone
type : regex
regex :
- ' d{3}-d{8}|d{4}-d{7} '
カスタム フィールドを定義する場合、次の属性がサポートされます。
name属性の値は、
-field
cli オプションの値として使用されます。
カスタム属性のタイプ、現在サポートされているオプション -
regex
情報を抽出する応答の部分。デフォルト値は
response
で、ヘッダーと本文の両方が含まれます。他の可能な値は、header
とbody
です。
この属性を使用すると、正規表現で一致する特定のグループを選択できます。例:
group: 1
katana -u https://tesla.com -f email,phone
-store-field
実行時に出力をフィルタリングするのに便利なfield
オプションを補完するために、フィルタリングの代わりにターゲット URL でソートされたkatana_field
ディレクトリの下にディスク上のすべての情報を保存することを除いて、フィールド オプションとまったく同じように機能する -sf -sf, -store-fields
オプションがあります。 。データを別の場所に保存するには、 -sfd
または-store-field-dir
使用します。
katana -u https://tesla.com -sf key,fqdn,qurl -silent
$ ls katana_field/
https_www.tesla.com_fqdn.txt
https_www.tesla.com_key.txt
https_www.tesla.com_qurl.txt
-store-field
オプションは、次のようなさまざまな目的でターゲットを絞った単語リストを作成するための情報を収集するのに役立ちます。
-extension-match
-em
オプションを使用すると、クロール出力を特定の拡張子と簡単に照合して、指定された拡張子を含む出力のみを表示することができます。
katana -u https://tesla.com -silent -em js,jsp,json
-extension-filter
-ef
オプションを使用すると、クロール出力を特定の拡張子で簡単にフィルタリングでき、指定された拡張子を含むすべての URL が確実に削除されます。
katana -u https://tesla.com -silent -ef css,txt,md
-match-regex
-match-regex
または-mr
フラグを使用すると、正規表現を使用して出力 URL をフィルタリングできます。このフラグを使用すると、指定された正規表現に一致する URL のみが出力に表示されます。
katana -u https://tesla.com -mr 'https://shop.tesla.com/*' -silent
-filter-regex
-filter-regex
または-fr
フラグを使用すると、正規表現を使用して出力 URL をフィルタリングできます。このフラグを使用すると、指定された正規表現に一致する URL がスキップされます。
katana -u https://tesla.com -fr 'https://www.tesla.com/*' -silent
Katana は、高度なマッチングおよびフィルタリング機能のための DSL ベースの式をサポートしています。
katana -u https://www.hackerone.com -mdc ' status_code == 200 '
katana -u https://www.hackerone.com -mdc ' contains(endpoint, "default") && status_code != 403 '
katana -u https://www.hackerone.com -mdc ' contains(to_lower(technologies), "php") '
katana -u https://www.hackerone.com -fdc ' contains(to_lower(technologies), "cloudflare") '
DSL 関数は、jsonl 出力内の任意のキーに適用できます。利用可能な DSL 機能の詳細については、dsl プロジェクトを参照してください。
追加のフィルターオプションは次のとおりです -