id: wp-hostinger-fpd

info:
  name: WordPress Hostinger Tools - Full Path Disclosure
  author: DhiyaneshDk
  severity: low
  description: |
    WordPress Plugin Hostinger Tools files are publicly accessible without ABSPATH protection, exposing sensitive server path information through PHP error messages when accessed directly.
  reference:
    - https://wordpress.org/plugins/hostinger/
  metadata:
    verified: true
    max-request: 1
    publicwww-query: "/plugins/hostinger"
  tags: wp,wordpress,wp-plugin,fpd,hostinger,misconfig

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-content/plugins/hostinger/vendor/woocommerce/action-scheduler/classes/ActionScheduler_AdminView.php"
      - "{{BaseURL}}/wp-content/plugins/hostinger/vendor/woocommerce/action-scheduler/classes/ActionScheduler_ListTable.php"
      - "{{BaseURL}}/wp-content/plugins/hostinger/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php"
      - "{{BaseURL}}/wp-content/plugins/hostinger/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Store.php"
      - "{{BaseURL}}/wp-content/plugins/hostinger/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php"

    stop-at-first-match: true

    matchers:
      - type: dsl
        dsl:
          - 'contains_all(body, "Fatal error", "Uncaught Error") || contains_all(body, "Warning:", "failed to open stream")'
          - 'status_code == 200 || status_code == 500'
          - 'contains(body, "hostinger")'
        condition: and
# digest: 4a0a0047304502201f6440050d897ab07a7ae1b596e02071e581762de69772ac03412113d1f22080022100fdf6b81092d28719bf1afd278c37fd91f327a540338e04b12a2b9687d0dea21c:922c64590222798bb761d5b6d8e72950