开源安全工具 nuclei 推荐

陆伍
12小时前发布 /正在检测是否收录...
广告 广告 广告 广告 广告 广告 广告 广告 广告 广告

推荐一个实用的开源工具——nuclei。项目由projectdiscovery开发维护,GitHub上获得了 31053 个Star。简单来说,它是一款Nuclei是一款快速、可定制的漏洞扫描器,由全球安全社区提供支持,构建在一个简单的基于YAML的DSL之上,使协作能够解决互联网上的流行漏洞。它可帮助您查找应用程序、API、网络、DNS和云配置中的漏洞。,对于站长和开发者来说是个不错的工具。

工具功能介绍

nuclei
  

  
Nuclei is a modern, high-performance vulnerability scanner that leverages simple YAML-based templates. It empowers you to design custom vulnerability detection scenarios that mimic real-world conditions, leading to zero false positives.- Simple YAML format for creating and customizing vulnerability templates.

Get Started

1. Nuclei CLI_Install Nuclei on your machine. Get started by following the installation guide here. Additionally, we provide a free cloud tier that comes with generous monthly free limits:_- Store and visualize your vulnerability findings

  • Write and manage your Nuclei templates
  • Access the latest Nuclei templates
  • Discover and store your targets> [!Important]

    This project is in active development. Expect breaking changes with releases. Review the release changelog before updating.
    This project is primarily built to be used as a standalone CLI tool. Running nuclei as a service may pose security risks. It's recommended to use with caution and additional security measures.

2. Pro and Enterprise Editions_For security teams and enterprises, we provide a cloud-hosted service built on top of Nuclei OSS, fine-tuned to help you continuously run vulnerability scans at scale with your team and existing workflows:_- 50x faster scans

  • Large scale scanning with high accuracy
  • Integrations with cloud services (AWS, GCP, Azure, Cloudflare, Fastly, Terraform, Kubernetes)
  • Jira, Slack, Linear, APIs and Webhooks
  • Executive and compliance reporting
  • Plus: Real-time scanning, SAML SSO, SOC 2 compliant platform (with EU and US hosting options), shared team workspaces, and more
  • We're constantly adding new features!
  • Ideal for: Pentesters, security teams, and enterprisesSign up to Pro or Talk to our team if you have a large organization and complex requirements.

Documentation

Browse the full Nuclei documentation here. If you’re new to Nuclei, check out our foundational YouTube series.

Installationnuclei requires go >= 1.24.2 to install successfully. Run the following command to get the repo:


sh
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

To learn more about installing nuclei, see https://docs.projectdiscovery.io/tools/nuclei/install.

Command Line FlagsTo display all the flags for the tool:


sh
nuclei -h

Expand full help flags


yaml
Nuclei is a fast, template based vulnerability scanner focusing
on extensive configurability, massive extensibility and ease of use.Usage:
./nuclei [flags]Flags:
TARGET:
-u, -target string[]          target URLs/hosts to scan
-l, -list string              path to file containing a list of target URLs/hosts to scan (one per line)
-targets-inline string        inline multiline target list (for use in template profiles)
-eh, -exclude-hosts string[]  hosts to exclude to scan from the input list (ip, cidr, hostname)
-resume string                resume scan from and save to specified file (clustering will be disabled)
-sa, -scan-all-ips            scan all the IP's associated with dns record
-iv, -ip-version string[]     IP version to scan of hostname (4,6) - (default 4)TARGET-FORMAT:
-im, -input-mode string        mode of input file (list, burp, jsonl, yaml, openapi, swagger, http) (default "list")
-ro, -required-only            use only required fields in input format when generating requests
-sfv, -skip-format-validation  skip format validation (like missing vars) when parsing input file
-vtt, -vars-text-templating    enable text templating for vars in input file (only for yaml input mode)
-vfp, -var-file-paths string[] list of yaml file contained vars to inject into yaml inputTEMPLATES:
-nt, -new-templates                    run only new templates added in latest nuclei-templates release
-ntv, -new-templates-version string[]  run new templates added in specific version
-as, -automatic-scan                   automatic web scan using wappalyzer technology detection to tags mapping
-t, -templates string[]                list of template or template directory to run (comma-separated, file)
-turl, -template-url string[]          template url or list containing template urls to run (comma-separated, file)
-ai, -prompt string                    generate and run template using ai prompt
-w, -workflows string[]                list of workflow or workflow directory to run (comma-separated, file)
-wurl, -workflow-url string[]          workflow url or list containing workflow urls to run (comma-separated, file)
-validate                              validate the passed templates to nuclei
-nss, -no-strict-syntax                disable strict syntax check on templates
-td, -template-display                 displays the templates content
-tl                                    list all templates matching current filters
-tgl                                   list all available tags
-sign                                  signs the templates with the private key defined in NUCLEI_SIGNATURE_PRIVATE_KEY env variable
-code                                  enable loading code protocol-based templates
-dut, -disable-unsigned-templates      disable running unsigned templates or templates with mismatched signature
-esc, -enable-self-contained           enable loading self-contained templates
-egm, -enable-global-matchers          enable loading global matchers templates
-file                                  enable loading file templatesFILTERING:
-a, -author string[]               templates to run based on authors (comma-separated, file)
-tags string[]                     templates to run based on tags (comma-separated, file)
-etags, -exclude-tags string[]     templates to exclude based on tags (comma-separated, file)
-itags, -include-tags string[]     tags to be executed even if they are excluded either by default or configuration
-id, -template-id string[]         templates to run based on template ids (comma-separated, file, allow-wildcard)
-eid, -exclude-id string[]         templates to exclude based on template ids (comma-separated, file)
-it, -include-templates string[]   path to template file or directory to be executed even if they are excluded either by default or configuration
-et, -exclude-templates string[]   path to template file or directory to exclude (comma-separated, file)
-em, -exclude-matchers string[]    template matchers to exclude in result
-s, -severity value[]              templates to run based on severity. Possible values: info, low, medium, high, critical, unknown
-es, -exclude-severity value[]     templates to exclude based on severity. Possible values: info, low, medium, high, critical, unknown
-pt, -type value[]                 templates to run based on protocol type. Possible values: dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript
-ept, -exclude-type value[]        templates to exclude based on protocol type. Possible values: dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript
-tc, -template-condition string[]  templates to run based on expression conditionOUTPUT:
-o, -output string            output file to write found issues/vulnerabilities
-sresp, -store-resp           store all request/response passed through nuclei to output directory
-srd, -store-resp-dir string  store all request/response passed through nuclei to custom directory (default "output")
-silent                       display findings only
-nc, -no-color                disable output content coloring (ANSI escape codes)
-j, -jsonl                    write output in JSONL(ines) format
-irr, -include-rr -omit-raw   include request/response pairs in the JSON, JSONL, and Markdown outputs (for findings only) [DEPRECATED use -omit-raw] (default true)
-or, -omit-raw                omit request/response pairs in the JSON, JSONL, and Markdown outputs (for findings only)
-ot, -omit-template           omit encoded template in the JSON, JSONL output
-nm, -no-meta                 disable printing result metadata in cli output
-ts, -timestamp               enables printing timestamp in cli output
-rdb, -report-db string       nuclei reporting database (always use this to persist report data)
-ms, -matcher-status          display match failure status
-me, -markdown-export string  directory to export results in markdown format
-se, -sarif-export string     file to export results in SARIF format
-je, -json-export string      file to export results in JSON format
-jle, -jsonl-export string    file to export results in JSONL(ine) format
-pe, -pdf-export string       file to export results in PDF format
-rd, -redact string[]         redact given list of keys from query parameter, request header and bodyCONFIGURATIONS:
-config string                        path to the nuclei configuration file
-tp, -profile string                  template profile config file to run
-tpl, -profile-list                   list community template profiles
-fr, -follow-redirects                enable following redirects for http templates
-fhr, -follow-host-redirects          follow redirects on the same host
-mr, -max-redirects int               max number of redirects to follow for http templates (default 10)
-dr, -disable-redirects               disable redirects for http templates
-rc, -report-config string            nuclei reporting module configuration file
-H, -header string[]                  custom header/cookie to include in all http request in header:value format (cli, file)
-V, -var value                        custom vars in key=value format
-r, -resolvers string                 file containing resolver list for nuclei
-sr, -system-resolvers                use system DNS resolving as error fallback
-dc, -disable-clustering              disable clustering of requests
-passive                              enable passive HTTP response processing mode
-fh2, -force-http2                    force http2 connection on requests
-ev, -env-vars                        enable environment variables to be used in template
-cc, -client-cert string              client certificate file (PEM-encoded) used for authenticating against scanned hosts
-ck, -client-key string               client key file (PEM-encoded) used for authenticating against scanned hosts
-ca, -client-ca string                client certificate authority file (PEM-encoded) used for authenticating against scanned hosts
-sml, -show-match-line                show match lines for file templates, works with extractors only
-ztls                                 use ztls library with autofallback to standard one for tls13 [Deprecated] autofallback to ztls is enabled by default
-sni string                           tls sni hostname to use (default: input domain name)
-dka, -dialer-keep-alive value        keep-alive duration for network requests.
-lfa, -allow-local-file-access        allows file (payload) access anywhere on the system
-lna, -restrict-local-network-access  blocks connections to the local / private network
-i, -interface string                 network interface to use for network scan
-at, -attack-type string              type of payload combinations to perform (batteringram,pitchfork,clusterbomb)
-sip, -source-ip string               source ip address to use for network scan
-rsr, -response-size-read int         max response size to read in bytes
-rss, -response-size-save int         max response size to read in bytes (default 1048576)
-reset                                reset removes all nuclei configuration and data files (including nuclei-templates)
-tlsi, -tls-impersonate               enable experimental client hello (ja3) tls randomization
-hae, -http-api-endpoint string       experimental http api endpointINTERACTSH:
-iserver, -interactsh-server string  interactsh server url for self-hosted instance (default: oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me)
-itoken, -interactsh-token string    authentication token for self-hosted interactsh server
-interactions-cache-size int         number of requests to keep in the interactions cache (default 5000)
-interactions-eviction int           number of seconds to wait before evicting requests from cache (default 60)
-interactions-poll-duration int      number of seconds to wait before each interaction poll request (default 5)
-interactions-cooldown-period int    extra time for interaction polling before exiting (default 5)
-ni, -no-interactsh                  disable interactsh server for OAST testing, exclude OAST based templatesFUZZING:
-ft, -fuzzing-type string           overrides fuzzing type set in template (replace, prefix, postfix, infix)
-fm, -fuzzing-mode string           overrides fuzzing mode set in template (multiple, single)
-fuzz                               enable loading fuzzing templates (Deprecated: use -dast instead)
-dast                               enable / run dast (fuzz) nuclei templates
-dts, -dast-server                  enable dast server mode (live fuzzing)
-dtr, -dast...

{cloud type="github" title="nuclei 源码下载" url="https://github.com/projectdiscovery/nuclei/archive/refs/heads/dev.zip"/} {cloud type="github" title="nuclei 项目主页" url="https://github.com/projectdiscovery/nuclei"/} 总的来说,**nuclei**是一个功能比较实用的开源工具,适合日常工作和学习使用。如果你正在寻找一款相关工具,不妨下载试试。使用前建议仔细阅读项目文档。
喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
OωO
取消