Route -detect-在Web应用程序路由中查找身份验证(authn)和授权(authz)安全错误

taibeihacker

Moderator
AVvXsEi8vFhQaV3b_MGZl4LxxZGap9qHbHzMAIXs8DfOeFi1Lbg-OD8fHo_lhhWfLCi1cWSgxZkttB0syNneo1MoqDM-9AAxtvyqgon0enm0grV6KtyYk4ChCTO0nxuynu5hNzniL1vMHv04bweUKdmeanTEIgaPFke8LHBnmm_nhA1YbwAlgQ9hgddIdFfB2alq=w640-h332

在Web Application路由中查找身份验证(AUTHN)和授权(AUTHZ)安全错误:
Web应用程序HTTP路由AUTHN和AUTHZ错误是当今发现的一些最常见的安全问题。这些行业标准资源强调了该问题的严重性:
2021 OWASP Top 10 #1 - Broken Access Control 2021 OWASP Top 10 #7 - Identification and Authentication Failures (formerly Broken Authentication) 2023 OWASP API Top 10 #1 - Broken Object Level Authorization 2023 OWASP API Top 10 #2 - Broken Authentication 2023 OWASP API Top 10 #5 - Broken Function Level Authorization 2023 CWE Top 25 #11 - CWE-862: Missing Authorization 2023 CWE前25名#13-CWE-287:不当身份验证2023 CWE TOP 25#20-CWE-30633:缺少关键功能的身份验证2023 CWE TOP 25#24-CWE-8633:不正确的授权授权Web框架ID
Python: Django (django, django-rest-framework), Flask (flask), Sanic (sanic) PHP: Laravel (laravel), Symfony (symfony), CakePHP (cakephp) Ruby: Rails* (rails), Grape (grape) Java: JAX-RS (jax-rs), Spring (spring) GO:大猩猩(大猩猩),杜松子酒(杜松子酒),Chi(Chi)JavaScript/Typescript: Express(Express),React(React),Angular(Angular) *Rails支持受到限制。请参阅此问题以获取更多信息。

Installing​

使用PIP安装Route-detect:
$ PYTHON -M PIP安装- Upgrade Route-tetect您可以通过以下命令正确安装路线- 检测
$ echo'print(1==1)'| semgrep--config $(test-Route-tetect的路由) -
扫描1个文件。
发现:
/tmp/stdin
routes.rules.test-route-detect
找到“ 1==1',您的路线检测安装正常工作
1â'†打印(1==1)
ran 1在1 file3: 1查找中规则。

Using​

Route-tect提供路由CLI命令,并使用Semgrep搜索路由。
使用哪个子命令将SEMGREP指向正确的Web应用程序Rules:
$ semgrep -config $(django)路径/到/django/code使用VIZ子命令可视化browser:中的路由信息
$ semgrep - json -config $(django) - 输出路由。
$路由viz -browser utaes.json如果您不确定要寻找哪个框架,则可以使用特殊所有ID检查所有内容3:
$ semgrep - json -config $(所有) - 输出路由。
$ cp $(django)my-django.yml,您可以根据需要修改规则并像以上:一样运行它
$ semgrep - json -config my-django.yml - 输出路由。
$路由- viz -browser Routes.json

Contributing​

Route-detect使用诗歌来依赖和配置管理。
在继续之前,使用以下命令安装项目依赖项:
$ POETY安装- 与DEV

Linting​

LINT所有项目文件一起使用以下命令:
$ POETRY RUN PREM-COMMIT RUN-ALL-FILES

Testing​

运行Python测试以下命令:
$ POETRY RUN PYTEST -COV RUN SEMGREP规则测试带有以下命令:
$ poety run semgrep-测试-Config路由/规则/tests/test_rules/
 
返回
上方