آموزش katana ابزار باگ هانترهای حرفه ای

ویدیوی آموزش katana ابزار باگ هانترهای حرفه ای

ویژگی‌های katana

آموزش katana

  • کراولر وب سریع که تماما قابل تنظیم پیکربندی است
  • از حالت استاندارد و هدلس پشتیبانی می‌کند.
  • کراول / تفسیر کدهای JavaScript
  • تکمیل فرم خودکار با قابلیت سفارشی سازی
  • کنترل اسکوپ – فیلد یا Regex از قبل پیکربندی شده
  • خروجی شخصی سازی شده – فیلدهای از قبل پیکربندی شده
  • ورودی : STDIN، URL و LIST
  • خروجی: STDOUT، FILE و JSON

نصب و راه اندازی katana

برای اینکه Katana با موفقیت روی سیستم شما به درستی تصب شود به Go 1.18 نیاز دارد. برای نصب و راه‌اندازی، فقط خط دستوری زیر را اجرا کنید یا از این صفحه نسخه بیناری کامپایل شده را دانلود کنید.

go install github.com/projectdiscovery/katana/cmd/katana@latest

ویژگی‌های بیشتر برای اجرا یا نصب katana

Docker

برای نصب یا به روزرسانی داکر به آخرین تگ:

docker pull projectdiscovery/katana:latest

برای اجرای katana در حالت استفاده استاندار از داکر

docker run projectdiscovery/katana:latest -u https://tesla.com

برای اجرای katana درحالت استفاده از داکر هدلس:

docker run projectdiscovery/katana:latest -u https://tesla.com -system-chrome -headless

کاربرد katana

katana -h

با این خط دستور فایل Help ابزار نمایش داده می‌شود. درادامه تمام سوییچ هایی که katana از آنها پشتیبانی می کند را می‌تواند ببینید.

Usage:

  ./katana [flags]

Flags:

INPUT:

   -u, -list string[] url / list  کراول هدف

CONFIGURATION:

   -d, -depth int               بیشترین عمق برای کراول  (پیشفرض 2)

   -jc, -js-crawl                فعالسازی اندپوینت تفسیر یا کراول جاوا اسکریپت   

   -ct, -crawl-duration int      بیشترین زمان برای کراول کردن داخل هدف  

   -kf, -known-files string      فعالسازی کارول کردن فایل‌های شناخته شده   (all,robotstxt,sitemapxml)

   -mrs, -max-response-size int  بیشترین اندازه برای پاسخ های خوانده شده  (پیشفرض 2097152)

   -timeout int                  تایمی که باید منتظر درخواست بماند به ثانیه  (پیشفرض 10)

   -aff, -automatic-form-fill    فعال سازی پرکردن فرم خودکار انتخابی  (آزمایشی)

   -retry int                  تعداد دفعات تلاش دوباره برای درخواست  (پیشفرض 1)

   -proxy string پروکسی                http/socks5 مورد استفاده

   -H, -headers string[]   header/cookie شخصی سازی شده برای استفاده در درخواست‌ها

   -config string                مسیر config فایل katana

   -fc, -form-config string      مسیر Config فایل شخصی سازی شده
HEADLESS:

   -hl, -headless                   فعالسازی کراول هیبرید هدلس (آزمایشی)

   -sc, -system-chrome       استفاده از مرورگر کروم محلی به جای از مرورگر katana

   -sb, -show-browser                  نمایش مرورگر روی صفحه با حالت هدلس

   -ho, -headless-options string[]  اجرای کروم هدلس با ویژگی های بیشتر

   -nos, -no-sandbox                اجرای کروم در حالت –no-sandbox
SCOPE:

   -cs, -crawl-scope string[]       regex آدرس داخل اسکوپ که باید توس کراولر دنبال شود.

   -cos, -crawl-out-scope string[] regex  آدرس های خارج از اسکوپ که باید کراولر ازآنها صرفنظرکند

   -fs, -field-scope string  فیلدهای اسکوپ ازقبل تعریف شده  (dn,rdn,fqdn) (پیشفرض "rdn")

   -ns, -no-scope                   غیرفعالسازی اسکوپ پیشفرض مبنی بر هاست

   -do, -display-out-scope        نمایش اندپوینت های خارج از اسکوپ کراول شده


FILTER:

   -f, -field string                فیلدی که در خروجی نمایش داده خواهد شد (url,path,fqdn,rdn,rurl,qurl,qpath,file,key,value,kv,dir,udir)

   -sf, -store-field string         فیلدی که در خروجی pre-host ذخیره خواهدشد (url,path,fqdn,rdn,rurl,qurl,qpath,file,key,value,kv,dir,udir)

   -em, -extension-match string[]    تطبیق خروجی با اکستنشن داده شده             (eg, -em php,html,js)

   -ef, -extension-filter string[]     فیلتر کردن خروجی با اکستنشن  داده شده (png,css, eg, -ef)


RATE-LIMIT:

   -c, -concurrency int     تعداد واکشی کننده‌های مورداستفاده همزمان (پیشفرض10)

   -p, -parallelism int     تعداد ورودی های همزمان برای فرایند (پیشفرض 10)

   -rd, -delay int          تاخیر بین هر درخواست به ثانیه

   -rl, -rate-limit int      ماکزیمم تعداد درخواستی که در هر ثانیه فرستاده می‌شود (پیشفرض 150)

   -rlm, -rate-limit-minute int  ماکزیمم تعداد درخواست هایی که دردقیقه ارسال می‌شوند


OUTPUT:

   -o, -output string  فایلی که خروجی داخل آن نوشته خواهد شد

   -j, -json           خروجی را به صورت JSONL(ines) بنویس

   -nc, -no-color      غیرفعال کردن رنگ آمیزی محتوای خروجی(ANSI escape codes)

   -silent             فقط خروجی نمایش داده شود

   -v, -verbose        نمایش خروجی های طولانی

   -version            نمایش نسخه پروژه

اجرای katana

ورودی برای katana

Katana برای کراول کردن به ورودی url یا اندپوینت نیاز دارد و این ابزار از ورودی های تکی یا چندگانه هم پشتیبانی می‌کند.

ورودی یگانه را بااستفاده از ویژگی -u می توان فراهم کرد، و برای وارد کردن مقادیر چندگانه از ورودی‌هایی که با نشانه کاما از هم جداشده‌اند استفاده می‌کنیم، همینطور برای ورودی فایل پشتیبانی شده از ویژگی -list و برای ورودی پایپ شده اضافی از stdin هم می توان استفاده کرد.

ورودی URL

katana -u https://tesla.com

ورودی url چندگانه (comma-separated)

katana -u https://tesla.com,https://google.com

لیست ورودی

$ cat url_list.txt
https://tesla.com

https://google.com

katana -list url_list.txt


ورودی پایپ شده STDIN

echo https://tesla.com | katana

cat domains | httpx | katana


  • مثال برای اجرای 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 استفاده می‌کند. این حالت درصورتیکه سرریز مرورگر رخ ندهد بسیار سریع است. بااین‌حال، بدنه پاسخ های HTTP را همانگونه هستند مورد تحلیل و بررسی قرار می‌دهد، یعنی بدون تفسیر JasvaScript یا DOM، بااحتمال ازدست رفتن اندپوینت های post-dom-rendered یا فراخوانی‌های اندپوینت های غیرهم‌زمانی که که ممکن است در وب اپلیکیشن‌های پیچیده وابسته، مثل رویدادهای مخصوص مرورگر، رخ دهد.

حالت هدلس

حالت هدلس برای کنترل درخواست‌ها یا پاسخ‌های HTTP مستقیما فراخوانی‌های هدلس داخلی متن مرورگر را به‌دام می‌اندازد. این حالت از 2 مزیت زیر برخوردار است:

  • اثرانگشت HTTP (TLS و عامل کاربری) کلاینت را کاملا به عنوان یک مرورگر قانونی شناسایی می‌کند.
  • ازآنجاییکه اندپوینت ها مثل حالت قبلی با آنالیز پاسخ های خام استاندارد و همچنین برخی از این اندپوینت ها با JavaScript فعال شده کشف می‌شوند، این حالت پوشش بهتری دارد.

کراول هدلس یک ویژگی قابل انتخاب است و بااستفاده از ویژگی -headless می توان آن را فعال کرد.

درادامه ویژگی های CLI (Command-Line interface) را می توانید مشاهده کنید:

katana -h headless

Flags:

HEADLESS:

   -hl, -headless       فعالسازی کراول هیبرید هدلس آزمایشی

   -sc, -system-chrome  استفاده از مرورگر کروم محلی به جای کروم نصب شده توسط katana

   -sb, -show-browser   نمایش مرورگر روی صفحه در حالت هدلس

   -ho, -headless-options string[]  اجرای کروم هدلس با ویژگی های اضافه شده

   -nos, -no-sandbox                اجرای کروم هدلس در حالت –no-sandbox

no-sandbox

مرورگر هدلس کروم را با ویژگی no-sanbox اجرا می‌کند، این حالت زمانی کاربردی است که به عنوان کاربر root از سیستم استفاده می‌کنید.

katana -u https://tesla.com -headless -no-sandbox

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 – اسکوپ را تا نام دامنه root و تمام زیردامنه ها کروال می‌کند
  • fqdn – اسکوپ را تا زیردامنه یا دامنه داده شده کراول می‌کند
  • dn – اسکوپ را تا کلمه کلیدی نام دامنه داده شده کراول می‌کند.
katana -u https://tesla.com -fs dn

crawl-scope

برای کنترل اسکوپ پیشرفته، ویژگی  -cs با پشتیبانی از regex می‌تواند کاربردی باشد.

katana -u https://tesla.com -cs login

برای وضع قوانین چندگانه داخل اسکوپ، ورودی فایل با رشته یا regex چندگانه هم برای ابزار قابل قبول است.

$ cat in_scope.txt

login/

admin/

app/

wordpress/

katana -u https://tesla.com -cs in_scope.txt

crawl-out-scope

برای تعیین چیزهایی که نمی خواهیم کراول شوند از ویژگی  -cos می‌توانیم استفاده کنیم که  از ورودی Regex هم پشتیبانی می‌کند.

katana -u https://tesla.com -cos logout

برای وضع قوانین چندگانه خارج از اسکوپ، ورودی فایل با رشته یا regex چندگانه هم برای ابزار قابل قبول است.

$ 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

درحالت پیشفرض وقتی از ویژگی اسکوپ استفاده می‌شود، این ویژگی به لینک هایی که به عنوان خروجی هستند هم اعمال می‌شود، از خروجی هایی مثل URL های خارجی صرف‌نظر می‌شود و برای بازنویسی این رفتار از ویژگی  -do  برای نمایش تمام URL های خارجی که در URL یا اندپوینت هدف اسکوپ شده وجود دارند می توان استفاده کرد.

katana -u https://tesla.com -do

در ادامه CLI ویژگی های کنترل اسکوپ را می‌توانید مشاهده کنید:

katana -h scope

Flags:

SCOPE:

   -cs, -crawl-scope string[]       اعمال regex روی url های داخل اسکوپ که باید توسط کراولر دنبال شوند

   -cos, -crawl-out-scope string[]  اعمال regex روی url های خارج اسکوپ که باید کراولر از آنها صرف‌نظر کند

   -fs, -field-scope string         اسکوپ فیلدهای ازپیش تعیین شده (dn,rdn,fqdn) (پیشفرض "rdn")

   -ns, -no-scope                   اسکوپ پیشفرض مبنی بر هاست را غیرفعال می‌کند

   -do, -display-out-scope          نمایش اندپوینت خارج از اسکوپ کراول شده

تنظیمات پیکربندی کراولر

Katana برای پیکربندی و کنترل کراول به شکل دلخواه کاربر ویژگی هایی را ارائه‌ داده است.

depth

ویژگی depth برای تعیین عمق url هایی که باید توسط کراولر دنبال شود را تعیین می‌کند، هرچقدر عدداین ویژگی بیشتر باشد، تعداد اندپوینت های کراول شده و همچنین زمان کراول کردن بیشتر خواهد بود.

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

ویژگی‌ای برای فعال کردن پرکردن فرم خودکار برای فیلدهای شناخته شده یا ناشناخته، مقادیر فیلدهای شناخته شده را می‌توان درزمان نیاز با به روزرسانی فایل config فرم در HOME/.config/katana/form-config.yaml شخصی سازی کرد.

ویژگی پرکردن فرم خودکار آزمایشی است.

  -aff, -automatic-form-fill  فعال کردن پرکردن فرم خودکار  (آزمایشی)

 ویژگی‌های زیادی برای پیکربندی در زمان نیاز وجود دارد، در ادامه CLI تمام ویژگی های مرتبط با پیکربندی را می‌توانید مشاهده کنید:

katana -h config

Flags:

CONFIGURATION:

   -d, -depth int                ماکزیمم عمق برای کراول کردن (پیشفرض 2)

   -jc, -js-crawl                فعالسازی تفسیر یا کراول فایل JavaScript اندپوینت

   -ct, -crawl-duration int      ماکزیمم مدت زمان کراول کردن هدف

   -kf, -known-files string  فعال‌سازی کراول کردن فایل های شناخته شده (all,robotstxt,sitemapxml)

   -mrs, -max-response-size int  ماکزیمم سایز پاسخ برای خواندن (پیشفرض 2097152)

   -timeout int                  زمان انتظار برای درخواست به ثانیه (پیشفرض 10)

   -retry int                    تعداد دفعات تلاش مجدد برای درخواست (پیشفرض1)

   -proxy string                 پروکسی های مورد استفاده http/socks5

   -H, -headers string[]        header/cookie های سفارشی استفاده شده در درخواست

   -config string                مسیر config فایل katana

   -fc, -form-config string      مسیر config فایل فرم سفارشی

فیلترها

field

Katana با فیلدهای داخلی ارائه شده است که می تاون از این فیلدها برای فیلترکردن خروجی برای بدست آوردن اطلاعات موردنیاز استفاده کرد. برای تعریف هر فیلد قابل دسترس از ویژگی -f می توانیم استفاده کنیم.

  -f, -field فیلد رشته ای برای نمایش دادن در خروجی (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 دربرگیرنده Param کوئری https://admin.projectdiscovery.io/admin/login.php?user=admin&password=admin
qpath مسیر دربرگیرنده Param کوئری /login?user=admin&password=admin
path مسیر URL https://admin.projectdiscovery.io/admin/login
fqdn نام دامنه منتخب admin.projectdiscovery.io
rdn نام دامنه root projectdiscovery.io
rurl Root URL https://admin.projectdiscovery.io
file نام فایل در URL login.php
key کلیدهای پارامتریک در  URL user,password
value مقادیر پارامتر در URL admin,admin
kv Keys=مقادیر استفاده شده در 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

store-field

درجهت تکمیل ویژگی field که برای فیلتر کردن خروجی درزمان اجرا قابل استفاده است، ویژگی  -sf, -store-fields  وجود دارد که دقیقا مثل ویژگی فیلد عمل میکند بااین تفاوت که فیلتر نمی‌کند، این ویژگی تحت دایرکتوری katana_output  که توسط url هدف ذخیره شده است، تمام اطلاعات روی ریسک را ذخیره می‌کند.

katana -u https://tesla.com -sf key,fqdn,qurl -silent

$ ls katana_output/

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

در ادامه ویژگی های بیشتری برای فیلتر را می‌توانید مشاهده کنید:

  -f, -field string                فیلدی که در خروجی نمایش داده خواهد شد (url,path,fqdn,rdn,rurl,qurl,file,key,value,kv,dir,udir)

   -sf, -store-field string         فیلدی که در خروجی pre-host ذخیره خواهدشد (url,path,fqdn,rdn,rurl,qurl,file,key,value,kv,dir,udir)

   -em, -extension-match string[]   انطباق خروجی با اکستنشن داده شده  (eg, -em php,html,js)

   -ef, -extension-filter string[]  فیلتر کردن خروجی با اکستنشن داده شده (eg, -ef png,css)

محدودیت تاخیر و نرخ

اگر در زمان کراول کردن از محدودیت های اعمال شده ازطرف وب سایت های هدف پیروی نکنید به راحتی بلاک یا بن می‌شوید. ابزار katana برای حل این معضل ویژگی هایی را در اختیار کاربر قرار داده تا بااستفاده از آنها سرعت کراول را می‌توان تنظیم کرد.

delay

ویژگی‌ای برای معرفی تاخیر به ثانیه بین هر درخواست جدید که katana در زمان کراول کردن میسازد، این ویژگی درحالت پیشفرض غیرفعال است.

katana -u https://tesla.com -delay 20

concurrency

ویژگی‌ای برای کنترل تعداد url ها در ازای هدف برای واکشی به صورت همزمان.

katana -u https://tesla.com -c 20

parallelism

ویژگی‌ای برای تعریف تعداد اهداف فرایند به صورت همزمان از لیست ورودی.

katana -u https://tesla.com -p 20

rate-limit

ویژگی‌ای برای تعریف ماکزیمم تعداد درخواست های که در ثانیه خارج می‌شوند.

katana -u https://tesla.com -rl 100

rate-limit-minute

ویژگی قابل استفاده برای توضیف ماکزیمم مقدار درخواستی که در دقیقه می‌تواند ارسال شود.

katana -u https://tesla.com -rlm 500

در ادامه  ویژگی‌های CLI برای کنترل محدوده نرخ را می‌توانید مشاهده کنید:

katana -h rate-limit


Flags:

RATE-LIMIT:

   -c, -concurrency int          تعداد واکشی همزمان برای استفاده (پیشفرض 10)

   -p, -parallelism int          تعداد ورودی های همزمان برای فرایند  (پیش فرض 10)

   -rd, -delay int               تاخیر بین دو درخواست به ثانیه       

   -rl, -rate-limit intبیشترین تعداد درخواست هایی که در هر ثانیه ارسال خواهند شد (پیشفرض 150)                         

   -rlm, -rate-limit-minute int بیشترین تعداد درخواست هایی که در هردقیقه باید ارسال شوند

خروجی

json

Katana هم از فرمت خروجی txt پشتیبانی می‌کند و هم از فرمت JSON که این خروجی ها دربرگیرنده اطلاعاتی چون source، tag و اسم attribute های مرتبط با اندپوینت های کشف شده هستند.

katana -u https://example.com -json -do | jq .

{

  "timestamp": "2022-11-05T22:33:27.745815+05:30",

  "endpoint": "https://www.iana.org/domains/example",

  "source": "https://example.com",

  "tag": "a",

  "attribute": "href"

}

درادامه ویژگی های بیشتری برای CLI مرتبط با خروجی ابزار را می‌توانید مشاهده کنید:

katana -h output

OUTPUT:
   -o, -output string  فایلی که خروجی داخل آن نوشته می‌شود  
   -j, -json           خروجی داخل فایلی به فرمت JSON (ines) نوشته می‌شود  
   -nc, -no-color      رنگ محتوای خروجی را غیرفعال می‌کند     (ANSI escape codes)
   -silent             خروجی را فقط نمایش می‌دهد            
   -v, -verbose        خروجی های طولانی را نمایش می‌دهد      
   -version

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *