id: laravel-debug-infoleak

info:
  name: Laravel Debug Info Leak
  author: pwnhxl
  severity: medium
  description: |
    This template can be used to detect a Laravel debug information leak by making a POST-based request.
  reference:
    - https://github.com/dem0ns/improper/blob/master/laravel/5_debug/1.png
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
    cvss-score: 6.5
    cwe-id: CWE-215
    cpe: cpe:2.3:a:laravel:framework:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    shodan-query: Laravel-Framework
    fofa-query: app="Laravel-Framework"
    product: framework
    vendor: laravel
  tags: misconfig,laravel,debug,infoleak

http:
  - raw:
      - |
        POST / HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'vendor/laravel/framework/src/Illuminate/'
          - 'MethodNotAllowedHttpException'
        condition: and

      - type: word
        part: body
        words:
          - 'DB_PASSWORD'
          - 'REDIS_PASSWORD'
          - 'MAIL_PASSWORD'
          - 'ALIYUN_ACCESSKEYSECRET'
          - 'ALIYUN_ACCESSKEYID'
          - 'SMS_AUTH_TOKEN'
          - 'APP_KEY'
        condition: or

      - type: status
        status:
          - 405
# digest: 4a0a00473045022100a4eee75080cb17ef51bba0aa18dd84bcd4067a184ae141dccf29a83313bf47e202206495c74845cef6fb849c8882d3bfa9cb6255ace3ab13151e0ba46985071a484d:922c64590222798bb761d5b6d8e72950