Fitur • Instalasi • Penggunaan • Cakupan • Konfigurasi • Filter • Bergabung dengan Discord
katana memerlukan Go 1.18 agar instalasi berhasil. Untuk menginstal, cukup jalankan perintah di bawah ini atau unduh biner yang telah dikompilasi sebelumnya dari halaman rilis.
CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest
Lebih banyak opsi untuk menginstal / menjalankan katana-
Untuk menginstal/memperbarui buruh pelabuhan ke tag terbaru -
docker pull projectdiscovery/katana:latest
Untuk menjalankan katana dalam mode standar menggunakan buruh pelabuhan -
docker run projectdiscovery/katana:latest -u https://tesla.com
Untuk menjalankan katana dalam mode tanpa kepala menggunakan buruh pelabuhan -
docker run projectdiscovery/katana:latest -u https://tesla.com -system-chrome -headless
Disarankan untuk menginstal prasyarat berikut -
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
pasang katana -
go install github.com/projectdiscovery/katana/cmd/katana@latest
katana -h
Ini akan menampilkan bantuan untuk alat tersebut. Berikut semua sakelar yang didukungnya.
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 memerlukan url atau titik akhir untuk merayapi dan menerima satu atau beberapa masukan.
URL masukan dapat diberikan menggunakan opsi -u
, dan beberapa nilai dapat diberikan menggunakan masukan yang dipisahkan koma, demikian pula masukan file didukung menggunakan opsi -list
dan tambahan masukan pipa (stdin) juga didukung.
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
Contoh menjalankan 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/
Modalitas perayapan standar menggunakan pustaka go http standar untuk menangani permintaan/tanggapan HTTP. Modalitas ini jauh lebih cepat karena tidak memerlukan overhead browser. Namun, ia menganalisis isi respons HTTP apa adanya, tanpa rendering javascript atau DOM apa pun, yang berpotensi kehilangan titik akhir yang dirender pasca-dom atau panggilan titik akhir asinkron yang mungkin terjadi dalam aplikasi web yang kompleks, bergantung, misalnya, pada peristiwa spesifik browser.
Mode tanpa kepala menghubungkan panggilan tanpa kepala internal untuk menangani permintaan/respons HTTP secara langsung dalam konteks browser. Ini menawarkan dua keuntungan:
Perayapan tanpa kepala bersifat opsional dan dapat diaktifkan menggunakan opsi -headless
.
Berikut adalah opsi CLI tanpa kepala lainnya -
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
Menjalankan browser chrome tanpa kepala dengan opsi tanpa kotak pasir , berguna saat dijalankan sebagai pengguna root.
katana -u https://tesla.com -headless -no-sandbox
-no-incognito
Menjalankan browser chrome tanpa kepala tanpa mode penyamaran, berguna saat menggunakan browser lokal.
katana -u https://tesla.com -headless -no-incognito
-headless-options
Saat merayapi dalam mode tanpa kepala, opsi chrome tambahan dapat ditentukan menggunakan -headless-options
, misalnya -
katana -u https://tesla.com -headless -system-chrome -headless-options --disable-gpu,proxy-server=http://127.0.0.1:8080
Perayapan bisa tidak ada habisnya jika tidak dibatasi, karena katana tersebut dilengkapi dengan banyak dukungan untuk menentukan cakupan perayapan.
-field-scope
Opsi paling berguna untuk menentukan cakupan dengan nama bidang yang telah ditentukan sebelumnya, rdn
menjadi opsi default untuk cakupan bidang.
rdn
- perayapan yang mencakup nama domain root dan semua subdomain (misalnya *example.com
) (default)fqdn
- perayapan yang dicakup ke sub(domain) tertentu (misalnya www.example.com
atau api.example.com
)dn
- perayapan yang dicakup ke kata kunci nama domain (misalnya example
) katana -u https://tesla.com -fs dn
-crawl-scope
Untuk kontrol cakupan tingkat lanjut, opsi -cs
dapat digunakan yang dilengkapi dengan dukungan regex .
katana -u https://tesla.com -cs login
Untuk aturan cakupan ganda, input file dengan string multiline/regex dapat diteruskan.
$ cat in_scope.txt
login/
admin/
app/
wordpress/
katana -u https://tesla.com -cs in_scope.txt
-crawl-out-scope
Untuk menentukan apa yang tidak boleh dirayapi, opsi -cos
dapat digunakan dan juga mendukung input regex .
katana -u https://tesla.com -cos logout
Untuk beberapa aturan di luar cakupan, input file dengan string multiline/regex dapat diteruskan.
$ cat out_of_scope.txt
/logout
/log_out
katana -u https://tesla.com -cos out_of_scope.txt
-no-scope
Katana secara default memiliki cakupan *.domain
, untuk menonaktifkan opsi -ns
ini dapat digunakan dan juga untuk merayapi internet.
katana -u https://tesla.com -ns
-display-out-scope
Sebagai default, ketika opsi cakupan digunakan, ini juga berlaku untuk tautan yang ditampilkan sebagai keluaran, karena URL eksternal tersebut secara default dikecualikan dan untuk menimpa perilaku ini, opsi -do
dapat digunakan untuk menampilkan semua URL eksternal yang ada di target URL cakupan/Titik Akhir.
katana -u https://tesla.com -do
Berikut ini semua opsi CLI untuk kontrol cakupan -
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 hadir dengan banyak opsi untuk mengonfigurasi dan mengontrol perayapan sesuai keinginan kita.
-depth
Opsi untuk menentukan depth
mengikuti url perayapan, semakin mendalam semakin banyak jumlah titik akhir yang dirayapi + waktu untuk perayapan.
katana -u https://tesla.com -d 5
-js-crawl
Opsi untuk mengaktifkan penguraian file JavaScript + merayapi titik akhir yang ditemukan dalam file JavaScript, dinonaktifkan secara default.
katana -u https://tesla.com -jc
-crawl-duration
Opsi untuk durasi perayapan yang telah ditentukan sebelumnya, dinonaktifkan secara default.
katana -u https://tesla.com -ct 2
-known-files
Opsi untuk mengaktifkan perayapan file robots.txt
dan sitemap.xml
, dinonaktifkan secara default.
katana -u https://tesla.com -kf robotstxt,sitemapxml
-automatic-form-fill
Opsi untuk mengaktifkan pengisian formulir otomatis untuk bidang yang diketahui/tidak diketahui, nilai bidang yang diketahui dapat disesuaikan sesuai kebutuhan dengan memperbarui file konfigurasi formulir di $HOME/.config/katana/form-config.yaml
.
Pengisian formulir otomatis adalah fitur eksperimental.
katana -u https://tesla.com -aff
Perayapan yang diautentikasi melibatkan penyertaan header atau cookie khusus dalam permintaan HTTP untuk mengakses sumber daya yang dilindungi. Header ini memberikan informasi autentikasi atau otorisasi, memungkinkan Anda merayapi konten/titik akhir yang diautentikasi. Anda dapat menentukan header langsung di baris perintah atau menyediakannya sebagai file dengan katana untuk melakukan perayapan yang diautentikasi.
Catatan : Pengguna harus melakukan otentikasi secara manual dan mengekspor cookie sesi/header ke file untuk digunakan dengan katana.
-headers
Opsi untuk menambahkan header atau cookie khusus ke permintaan.
Sintaks header dalam spesifikasi HTTP
Berikut ini contoh menambahkan cookie ke permintaan:
katana -u https://tesla.com -H 'Cookie: usrsess=AmljNrESo'
Dimungkinkan juga untuk menyediakan header atau cookie sebagai file. Misalnya:
$ cat cookie.txt
Cookie: PHPSESSIONID=XXXXXXXXX
X-API-KEY: XXXXX
TOKEN=XX
katana -u https://tesla.com -H cookie.txt
Ada lebih banyak opsi untuk dikonfigurasikan bila diperlukan, berikut semua opsi CLI terkait konfigurasi -
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 juga dapat terhubung ke sesi browser aktif dimana pengguna sudah login dan diautentikasi. dan menggunakannya untuk merangkak. Satu-satunya persyaratan untuk ini adalah memulai browser dengan debugging jarak jauh diaktifkan.
Berikut adalah contoh memulai browser chrome dengan debugging jarak jauh diaktifkan dan menggunakannya dengan katana -
langkah 1) Pertama Temukan jalur chrome yang dapat dieksekusi
Sistem Operasi | Lokasi Eksekusi Chromium | Lokasi Eksekusi Google Chrome |
---|---|---|
jendela (64-bit) | C:Program Files (x86)GoogleChromiumApplicationchrome.exe | C:Program Files (x86)GoogleChromeApplicationchrome.exe |
jendela (32-bit) | 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 |
langkah 2) Mulai chrome dengan debugging jarak jauh diaktifkan dan itu akan mengembalikan url websocker. Misalnya, di MacOS, Anda dapat memulai chrome dengan debugging jarak jauh diaktifkan menggunakan perintah berikut -
$ /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
Sekarang login ke situs web yang ingin Anda jelajahi dan biarkan browser tetap terbuka.
langkah 3) Sekarang gunakan url websocket dengan katana untuk terhubung ke sesi browser aktif dan merayapi situs web
katana -headless -u https://tesla.com -cwu ws://127.0.0.1:9222/devtools/browser/c5316c9c-19d6-42dc-847a-41d1aeebf7d6 -no-incognito
Catatan : Anda dapat menggunakan opsi
-cdd
untuk menentukan direktori data chrome khusus untuk menyimpan data browser dan cookie tetapi itu tidak menyimpan data sesi jika cookie disetel keSession
saja atau kedaluwarsa setelah waktu tertentu.
-field
Katana hadir dengan kolom bawaan yang dapat digunakan untuk memfilter output untuk informasi yang diinginkan, opsi -f
dapat digunakan untuk menentukan kolom mana pun yang tersedia.
-f, -field string field to display in output (url,path,fqdn,rdn,rurl,qurl,qpath,file,key,value,kv,dir,udir)
Berikut adalah tabel dengan contoh setiap bidang dan keluaran yang diharapkan saat digunakan -
BIDANG | KETERANGAN | CONTOH |
---|---|---|
url | Titik Akhir URL | https://admin.projectdiscovery.io/admin/login?user=admin&password=admin |
qurl | URL termasuk parameter kueri | https://admin.projectdiscovery.io/admin/login.php?user=admin&password=admin |
qpath | Jalur termasuk parameter kueri | /login?user=admin&password=admin |
path | Jalur URL | https://admin.projectdiscovery.io/admin/login |
fqdn | Nama Domain yang Sepenuhnya Memenuhi Syarat | admin.projectdiscovery.io |
rdn | Nama Domain Akar | projectdiscovery.io |
rurl | URL akar | https://admin.projectdiscovery.io |
ufile | URL dengan File | https://admin.projectdiscovery.io/login.js |
file | Nama file di URL | login.php |
key | Kunci parameter di URL | user,password |
value | Nilai parameter di URL | admin,admin |
kv | Kunci=Nilai dalam URL | user=admin&password=admin |
dir | Nama Direktori URL | /admin/ |
udir | URL dengan Direktori | https://admin.projectdiscovery.io/admin/ |
Berikut adalah contoh penggunaan opsi bidang untuk hanya menampilkan semua url dengan parameter kueri di dalamnya -
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
Anda dapat membuat bidang khusus untuk mengekstrak dan menyimpan informasi spesifik dari respons halaman menggunakan aturan regex. Bidang khusus ini ditentukan menggunakan file konfigurasi YAML dan dimuat dari lokasi default di $HOME/.config/katana/field-config.yaml
. Alternatifnya, Anda dapat menggunakan opsi -flc
untuk memuat file konfigurasi bidang khusus dari lokasi berbeda. Berikut adalah contoh bidang khusus.
- 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} '
Saat menentukan bidang khusus, atribut berikut didukung:
Nilai atribut nama digunakan sebagai nilai opsi
-field
cli.
Jenis atribut khusus, opsi yang saat ini didukung -
regex
Bagian dari respons untuk mengekstrak informasi. Nilai defaultnya adalah
response
, yang mencakup header dan isi. Nilai lain yang mungkin adalahheader
danbody
.
Anda dapat menggunakan atribut ini untuk memilih grup tertentu yang cocok di regex, misalnya:
group: 1
katana -u https://tesla.com -f email,phone
-store-field
Untuk melengkapi opsi field
yang berguna untuk memfilter keluaran pada waktu proses, ada opsi -sf, -store-fields
yang berfungsi persis seperti opsi bidang kecuali alih-alih memfilter, opsi ini menyimpan semua informasi pada disk di bawah direktori katana_field
yang diurutkan berdasarkan url target . Gunakan -sfd
atau -store-field-dir
untuk menyimpan data di lokasi berbeda.
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
Opsi -store-field
dapat berguna untuk mengumpulkan informasi guna membangun daftar kata yang ditargetkan untuk berbagai tujuan, termasuk namun tidak terbatas pada:
-extension-match
Keluaran perayapan dapat dengan mudah dicocokkan untuk ekstensi tertentu menggunakan opsi -em
untuk memastikan hanya menampilkan keluaran yang berisi ekstensi tertentu.
katana -u https://tesla.com -silent -em js,jsp,json
-extension-filter
Output perayapan dapat dengan mudah difilter untuk ekstensi tertentu menggunakan opsi -ef
yang memastikan untuk menghapus semua url yang berisi ekstensi tertentu.
katana -u https://tesla.com -silent -ef css,txt,md
-match-regex
Bendera -match-regex
atau -mr
memungkinkan Anda memfilter URL keluaran menggunakan ekspresi reguler. Saat menggunakan tanda ini, hanya URL yang cocok dengan ekspresi reguler yang ditentukan yang akan dicetak di output.
katana -u https://tesla.com -mr 'https://shop.tesla.com/*' -silent
-filter-regex
Bendera -filter-regex
atau -fr
memungkinkan Anda memfilter URL keluaran menggunakan ekspresi reguler. Saat menggunakan tanda ini, URL yang cocok dengan ekspresi reguler yang ditentukan akan dilewati.
katana -u https://tesla.com -fr 'https://www.tesla.com/*' -silent
Katana mendukung ekspresi berbasis DSL untuk kemampuan pencocokan dan pemfilteran tingkat lanjut:
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") '
Fungsi DSL dapat diterapkan ke tombol apa pun di keluaran jsonl. Untuk informasi lebih lanjut tentang fungsi DSL yang tersedia, silakan kunjungi proyek dsl.
Berikut adalah opsi filter tambahan -