Noir是一款功能强大的代码安全检测工具,在该工具的帮助下,广大研究人员能够轻松从源代码层面检测目标应用程序的潜在攻击面。

创新互联-专业网站定制、快速模板网站建设、高性价比蔡甸网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式蔡甸网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖蔡甸地区。费用合理售后完善,10多年实体公司更值得信赖。
1、从源代码自动识别编程语言和框架;
2、通过代码分析查找API终端节点和网站页面;
3、通过与ZAP、Burpsuite、Caido和More proxy工具等代理工具的交互,快速加载分析结果;
4、支持为已成功识别的攻击面提供结构化结果数据,例如JSON和HAR等,以实现与其他工具的无缝交互;
5、提供了命令行使用样例,以便轻松地与其他工具(如curls或httpie)集成和协作;
1、路径Path
2、方法Method
3、参数Param
4、网站头Header
5、协议Protocol(例如ws)
| 语言 | 框架 | URL | Method | Param | Header | WS | 
| Go | Echo | X | ||||
| Go | Gin | X | ||||
| Python | Django | X | X | X | X | |
| Python | Flask | X | X | X | X | |
| Ruby | Rails | X | ||||
| Ruby | Sinatra | X | ||||
| Php | X | |||||
| Java | Spring | X | X | X | ||
| Java | Jsp | X | X | |||
| Crystal | Kemal | |||||
| JS | Express | X | X | X | ||
| JS | Next | X | X | X | X | X | 
| 规范 | 格式 | URL | Method | Param | Header | WS | 
| OAS 2.0 (Swagger 2.0) | JSON | X | ||||
| OAS 2.0 (Swagger 2.0) | YAML | X | ||||
| OAS 3.0 | JSON | X | ||||
| OAS 3.0 | YAML | X | ||||
| RAML | YAML | X | 
由于该工具基于Crystal开发,因此我们首先需要在本地设备上装并配置好Crystal开发环境。
首先,我们需要访问下列地址安装Crystal-lang:
https://crystal-lang.org/install/接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/hahwul/noir然后切换到项目目录中,并安装工具所需其他依赖组件:
cd noir
shards install依赖组件安装完成后,我们需要对代码进行构建:
shards build --release --no-debug最后,将构建生成后的代码拷贝到指定路径即可:
cp ./bin/noir /usr/bin/docker pull ghcr.io/hahwul/noir:mainbrew tap hahwul/noir
brew install noirUsage: noir 
  Basic:
    -b PATH, --base-path ./app       设置基路径(必须)
    -u URL, --url http://..             设置终端节点基地址URL
    -s SCOPE, --scope url,param      设置检测范围
 
  Output:
    -f FORMAT, --format json  设置输出格式,包括[plain/json/markdown-table/curl/httpie]
    -o PATH, --output out.txt         将结果写入到文件中
    --set-pvalue VALUE              给已识别参数指定值
    --no-color                       禁用颜色高亮输出
    --no-log                         仅显示结果
 
  Deliver:
    --send-req                       将结果发送至Web请求
    --send-proxy http://proxy..      通过HTTP代理将结果发送至Web请求
 
  Technologies:
    -t TECHS, --techs rails,php      设置要使用的技术
    --exclude-techs rails,php        指定需要排除的技术
    --list-techs                     显示所有技术(列表)
 
  Others:
    -d, --debug                      显示调试信息
    -v, --version                     显示工具版本
    -h, --help                        显示工具帮助信息 noir -b . -u https://testapp.internal.domains
noir -b . -u https://testapp.internal.domains -f json[
  ...
  {
    "headers": [],
    "method": "POST",
    "params": [
      {
        "name": "article_slug",
        "param_type": "json",
        "value": ""
      },
      {
        "name": "title",
        "param_type": "json",
        "value": ""
      },
      {
        "name": "id",
        "param_type": "json",
        "value": ""
      }
    ],
    "protocol": "http",
    "url": "https://testapp.internal.domains/comments"
  }
]本项目的开发与发布遵循MIT开源许可证协议。
Noir:【GitHub传送门】
https://crystal-lang.org/install/
本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM