-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Expand file tree
/
Copy pathopenplc-default-login.yaml
More file actions
90 lines (74 loc) · 2.06 KB
/
openplc-default-login.yaml
File metadata and controls
90 lines (74 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
id: openplc-default-login
info:
name: OpenPLC Webserver v3 - Default Login
author: machevalia,shriyanss
severity: high
description: |
Identifies default credentials (openplc:openplc) on OpenPLC Webserver v3, allowing unauthorized access to the web interface.
metadata:
verified: true
max-request: 2
shodan-query: html:"OpenPLC"
tags: openplc,default-login,iot,vuln
variables:
username: "openplc"
password: "openplc"
flow: http(1) || http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
- |
POST /login HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
username={{username}}&password={{password}}&csrf_token={{csrf}}
- |
GET /dashboard HTTP/1.1
Host: {{Hostname}}
redirects: true
max-redirects: 3
extractors:
- type: regex
name: csrf
part: body
group: 1
regex:
- '(?i)<input[^>]+name=["'']csrf_token["''][^>]*value=["'']([^"'']+)["'']'
- '(?i)<input[^>]+value=["'']([^"'']+)["''][^>]*name=["'']csrf_token["'']'
internal: true
matchers-condition: and
matchers:
- type: word
part: body_3
words:
- "Dashboard"
- "Runtime Logs"
- "Logout</p>"
condition: and
- type: status
status:
- 200
- raw:
- |
POST /login HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
username={{username}}&password={{password}}
- |
GET /dashboard HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body_2
words:
- "Dashboard"
- "Runtime Logs"
- "Logout</p>"
condition: and
- type: status
status:
- 200
# digest: 4a0a00473045022100f0ddad8436e9aa9bf889a4dd2e5c22f0d4899086e99c14613bfad07172fffe9902206a97b36bb9a44de01a2fa686779ab77cdbc7fc6ecd9306d2624e62874746f071:922c64590222798bb761d5b6d8e72950