Categorías: Hacking Ético

Route Detect: Encuentra errores de seguridad de autenticación (Authn) y autorización (Authz)

Los errores de autenticación y autenticación de rutas HTTP de aplicaciones web son algunos de los problemas de seguridad más comunes que se encuentran en la actualidad. Estos recursos estándar de la industria resaltan la gravedad del problema:

Frameworks web compatibles (route-detect ID entre paréntesis):

  • Python: Django ( django, django-rest-framework), matraz ( flask), Sanic ( sanic)
  • PHP: Laravel ( laravel), Symfony ( symfony), CakePHP ( cakephp)
  • Rubí: Rieles* ( rails), Uva ( grape)
  • Java: JAX-RS ( jax-rs), primavera ( spring)
  • Ir: Gorila ( gorilla), Ginebra ( gin), Chi ( chi)
  • JavaScript/TypeScript: Expreso ( express), Reaccionar ( react), Angular ( angular)

El soporte de rieles es limitado. Consulte este problema para obtener más información.

Instalación

Utilice pippara instalar route-detect:

$ python -m pip install --upgrade route-detect

Puedes comprobar que route-detectestá instalado correctamente con el siguiente comando:

$ echo 'print(1 == 1)' | semgrep --config $(routes which test-route-detect) -
Scanning 1 file.

Findings:

  /tmp/stdin
     routes.rules.test-route-detect
        Found '1 == 1', your route-detect installation is working correctly

          1┆ print(1 == 1)


Ran 1 rule on 1 file: 1 finding.

Usando

route-detectproporciona el routescomando CLI y lo utiliza semgreppara buscar rutas.

Utilice el whichsubcomando para señalar semgreplas reglas correctas de la aplicación web:

$ semgrep --config $(routes which django) path/to/django/code

Utilice el vizsubcomando para visualizar información de ruta en su navegador:

$ semgrep --json --config $(routes which django) --output routes.json path/to/django/code
$ routes viz --browser routes.json

Si no está seguro de qué marco buscar, puede utilizar el allID especial para comprobarlo todo:

$ semgrep --json --config $(routes which all) --output routes.json path/to/code

Si tiene una lógica de autenticación o autenticación personalizada, puede copiar route-detectlas reglas de :

$ cp $(routes which django) my-django.yml

Luego puede modificar la regla según sea necesario y ejecutarla como se muestra arriba:

$ semgrep --json --config my-django.yml --output routes.json path/to/django/code
$ routes viz --browser routes.json

Contribuyendo

route-detectusos poetry para la gestión de dependencias y configuración.

Antes de continuar, instale las dependencias del proyecto con el siguiente comando:

$ poetry install --with dev

Enlaces

Lint todos los archivos del proyecto con el siguiente comando:

$ poetry run pre-commit run --all-files

Pruebas

Ejecute pruebas de Python con el siguiente comando:

$ poetry run pytest --cov

Ejecute pruebas de reglas de Semgrep con el siguiente comando:

$ poetry run semgrep --test --config routes/rules/ tests/test_rules/

Descargar Ruta-Detectar

Pablo, Técnico en Sistemas Informáticos y Redes

Entradas recientes

La biografía de Steve Jobs escrita por el biógrafo Walter Isaacson

La biografía más vendida del cofundador de Apple, Steve Jobs; escrita por uno de los…

2 días hace

Cómo la Inteligencia Artificial está Revolucionando los Sistemas de Seguridad en el Hogar

Hubo un tiempo en el que la “seguridad en el hogar” significaba confiar en un…

2 días hace

Elon Musk se asegura una compensación de 1 billón de dólares con Tesla

Elon Musk vuelve a romper todos los esquemas. Los accionistas de Tesla acaban de aprobar…

2 días hace

GTA 6 se retrasa hasta finales de 2026

Los fans de Grand Theft Auto tendrán que esperar un poco más para volver a…

5 días hace

Juego de terror GRATIS este Halloween, sobrevive en Five Nights at Freddy’s Into the Pit

Five Nights at Freddy’s: Into the Pit nos sumerge en un misterioso mundo donde lo…

2 semanas hace

Juego de terror de dibujos animados, Bendy and the Ink Machine GRATIS hasta el 6 de noviembre

Adéntrate en el oscuro y retorcido mundo de Bendy and the Ink Machine, donde los…

2 semanas hace