Missing secure obfuscation - JavaScript

Missing secure obfuscation - JavaScript

Description

It is possible to obtain source code from the application since it has only been partially obfuscated in a secure way. This could allow an attacker to understand the inner workings of the application.

Impact

- Understand the operation of the application in order to increase the attack vector.
- Identify validations performed by the front end.

Recommendation

Perform an obfuscation process to the code exposed in web applications.

Threat

Unauthorized user from the Internet.

Expected Remediation Time

⌚ 60 minutes.

Score

Default score using CVSS 3.1. It may change depending on the context of the src.

Base

  • Attack vector: N
  • Attack complexity: L
  • Privileges required: N
  • User interaction: N
  • Scope: U
  • Confidentiality: L
  • Integrity: N
  • Availability: N

Temporal

  • Exploit code maturity: P
  • Remediation level: X
  • Report confidence: X

Result

  • Vector string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N/E:P/RL:X/RC:X
  • Score:
    • Base: 5.3
    • Temporal: 5.0
  • Severity:
    • Base: Medium
    • Temporal: Medium

Score 4.0

Default score using CVSS 4.0. It may change depending on the context of the src.

Base 4.0

  • Attack vector: N
  • Attack complexity: L
  • Attack Requirements: N
  • Privileges required: N
  • User interaction: N
  • Confidentiality (VC): L
  • Integrity (VI): N
  • Availability (VA): N
  • Confidentiality (SC): N
  • Integrity (SI): N
  • Availability (SA): N

Threat 4.0

  • Exploit maturity: P

Result 4.0

  • Vector string: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
  • Score:
    • CVSS-BT: 5.5
  • Severity:
    • CVSS-BT: Medium

Compliant code

The source code is stored using obfuscation techniques like a rename method

                function calculatePay(a b){
  while(b.c()){
    b.a(true);
    c.a();
    b(c);
  }
}

            

Non compliant code

The source code has been stored without using any form of obfuscation

                function calculatePay(SpecialList clientGroup){
  while(clientGroup.HasMore()){
    clientGroup.getNext(true);
    client.updatePay();
    makePay(client);
  }
}

            

Requirements

Fixes

Free trial message
Free trial
Search for vulnerabilities in your apps for free with Fluid Attacks' automated security testing! Start your 21-day free trial and discover the benefits of the Continuous Hacking Essential plan. If you prefer the Advanced plan, which includes the expertise of Fluid Attacks' hacking team, fill out this contact form.