Noir:一个源代码形式的攻击面检测器

图片[1]-Noir:一个源代码形式的攻击面检测器-IT熊技术站

主要特征

  • 从源代码中自动识别语言和框架。
  • 通过代码分析查找API端点和网页。
  • 通过与 ZAP、Burpsuite、Caido 等代理工具交互,快速加载结果。
  • 它为已识别的攻击面提供 JSON 和 HAR 等结构化数据,以实现与其他工具的无缝交互。还提供命令行示例,以便轻松与其他工具集成和协作,例如curls或httpie。

可用的支持范围

端点实体

  • Path
  • 方法
  • 参数
  • 标头
  • 协议(例如 ws)

语言和框架

语言框架URL方法参数标头协议
GoEchoXX
PythonDjangoXXXX
PythonFlaskXXXX
RubyRailsX
RubySinatraX
PhpXX
JavaSpringXXX
JavaJspXXXXX
CrystalKemal
JSExpressXXX
JSNextXXXXX

规格

规格格式URL方法参数标头协议
OAS 2.0 (Swagger 2.0)JSONX
OAS 2.0 (Swagger 2.0)YAMLX
OAS 3.0JSONX
OAS 3.0YAMLX

安装

自制软件 (macOS)

brew tap hahwul/noir
brew install noir

来源

# Install Crystal-lang
# https://crystal-lang.org/install/

# Clone this repo
git clone https://github.com/hahwul/noir
cd noir

# Install Dependencies
shards install

# Build
shards build --release --no-debug

# Copy binary
cp ./bin/noir /usr/bin/

Docker (GHCR)

docker pull ghcr.io/hahwul/noir:main

用法

Usage: noir <flags>
  Basic:
    -b PATH, --base-path ./app       (Required) Set base path
    -u URL, --url http://..          Set base url for endpoints
    -s SCOPE, --scope url,param      Set scope for detection

  Output:
    -f FORMAT, --format json         Set output format [plain/json/markdown-table/curl/httpie]
    -o PATH, --output out.txt        Write result to file
    --set-pvalue VALUE               Specifies the value of the identified parameter
    --no-color                       Disable color output
    --no-log                         Displaying only the results

  Deliver:
    --send-req                       Send the results to the web request
    --send-proxy http://proxy..      Send the results to the web request via http proxy

  Technologies:
    -t TECHS, --techs rails,php      Set technologies to use
    --exclude-techs rails,php        Specify the technologies to be excluded
    --list-techs                     Show all technologies

  Others:
    -d, --debug                      Show debug messages
    -v, --version                    Show version
    -h, --help                       Show help

例子

noir -b . -u https://testapp.internal.domains
图片[2]-Noir:一个源代码形式的攻击面检测器-IT熊技术站

JSON 结果

noir -b . -u https://testapp.internal.domains -f json
[
  ...
  {
    "headers": [],
    "method": "POST",
    "params": [
      {
        "name": "article_slug",
        "param_type": "json",
        "value": ""
      },
      {
        "name": "body",
        "param_type": "json",
        "value": ""
      },
      {
        "name": "id",
        "param_type": "json",
        "value": ""
      }
    ],
    "protocol": "http",
    "url": "https://testapp.internal.domains/comments"
  }
]

项目地址

Noir:【Github地址

© 版权声明
THE END
喜欢就支持一下吧
点赞493赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容