如何使用Noir从源代码检测攻击面

关于Noir

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

功能介绍

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安装(GHCR)

docker pull ghcr.io/hahwul/noir:main

Homebrew安装(macOS)

brew tap hahwul/noir

brew install noir

工具使用帮助

Usage: noir <flags>

  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

JSON结果

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

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/151444.html<

(0)
管理的头像管理
上一篇2025-03-13 13:22
下一篇 2025-03-13 13:24

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注