Difference between revisions of "Validation performed in client"

From OWASP
Jump to: navigation, search
 
(Reverting to last version not containing links to www.textchicnaalc.com)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{Template:Stub}}
 
{{Template:Vulnerability}}
 
{{Template:Vulnerability}}
  
{{Template:Stub}}
+
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''
  
==Overview==
+
[[ASDR_TOC_Vulnerabilities|Vulnerabilities Table of Contents]]
 +
 
 +
==Description==
 
Performing validation in client side code, generally JavaScript, provides no protection for server-side code.  An attacker can simply disable JavaScript, use telnet, or use a security testing proxy such as [[:Category:OWASP WebScarab Project|WebScarab]] to bypass the client side validation.
 
Performing validation in client side code, generally JavaScript, provides no protection for server-side code.  An attacker can simply disable JavaScript, use telnet, or use a security testing proxy such as [[:Category:OWASP WebScarab Project|WebScarab]] to bypass the client side validation.
  
==Consequences ==
+
'''Consequences'''
 
* Unvalidated input corrupts business logic (XSS, injection, etc...)
 
* Unvalidated input corrupts business logic (XSS, injection, etc...)
  
==Exposure period ==
+
'''Exposure period'''
 
* Design phase
 
* Design phase
  
==Platform ==
+
'''Platform'''
 
* Languages: any
 
* Languages: any
 
* Operating platforms: any
 
* Operating platforms: any
  
==Required resources ==
+
'''Required resources'''
 
* None
 
* None
  
==Severity ==
+
'''Severity'''
 
Very high -- allows malicious input to be used in business logic.
 
Very high -- allows malicious input to be used in business logic.
  
==Likelihood of exploit ==
+
'''Likelihood of exploit'''
 
Very likely
 
Very likely
  
==Avoidance and mitigation ==
 
Validation must be performed in the business layer.
 
 
==Discussion==
 
 
Client-side validation is widely used, but is not security relevant. The only advantage of client-side validation, from a security perspective, is that intrusion detection may be more effective. Because only pre-validated input should arrive at an application (assuming JavaScript is enabled), it can be assumed that any bad input represents an attack.  The application can respond much more harshly if it knows that it is under attack. Some responses might be session invalidation, logging, or notification to an administrator.
 
Client-side validation is widely used, but is not security relevant. The only advantage of client-side validation, from a security perspective, is that intrusion detection may be more effective. Because only pre-validated input should arrive at an application (assuming JavaScript is enabled), it can be assumed that any bad input represents an attack.  The application can respond much more harshly if it knows that it is under attack. Some responses might be session invalidation, logging, or notification to an administrator.
  
==Examples==
+
 
 +
==Risk Factors==
 +
 
 
TBD
 
TBD
  
==Related problems ==
+
==Examples==
 +
 
 
TBD
 
TBD
  
[[Category:Range and Type Errors]]
+
==Related [[Attacks]]==
[[Category:Vulnerability]]
+
 
 +
* [[Attack 1]]
 +
* [[Attack 2]]
 +
 
 +
 
 +
==Related [[Vulnerabilities]]==
 +
 
 +
* [[Vulnerability 1]]
 +
* [[Vulnerabiltiy 2]]
 +
 
 +
 
 +
 
 +
==Related [[Controls]]==
 +
 
 +
* [[Control 1]]
 +
* [[Control 2]]
 +
Validation must be performed in the business layer.
 +
 
 +
 
 +
==Related [[Technical Impacts]]==
 +
 
 +
* [[Technical Impact 1]]
 +
* [[Technical Impact 2]]
 +
 
 +
 
 +
==References==
 +
 
 +
TBD
  
  
 
__NOTOC__
 
__NOTOC__
 +
 +
 +
[[Category:OWASP ASDR Project]]
 +
[[Category:Input Validation Vulnerability]]
 +
[[Category:Range and Type Error Vulnerability]]
 +
[[Category:Vulnerability]]

Latest revision as of 13:27, 27 May 2009

This article is a stub. You can help OWASP by expanding it or discussing it on its Talk page.


This is a Vulnerability. To view all vulnerabilities, please see the Vulnerability Category page.


Last revision (mm/dd/yy): 05/27/2009

Vulnerabilities Table of Contents

Description

Performing validation in client side code, generally JavaScript, provides no protection for server-side code. An attacker can simply disable JavaScript, use telnet, or use a security testing proxy such as WebScarab to bypass the client side validation.

Consequences

  • Unvalidated input corrupts business logic (XSS, injection, etc...)

Exposure period

  • Design phase

Platform

  • Languages: any
  • Operating platforms: any

Required resources

  • None

Severity Very high -- allows malicious input to be used in business logic.

Likelihood of exploit Very likely

Client-side validation is widely used, but is not security relevant. The only advantage of client-side validation, from a security perspective, is that intrusion detection may be more effective. Because only pre-validated input should arrive at an application (assuming JavaScript is enabled), it can be assumed that any bad input represents an attack. The application can respond much more harshly if it knows that it is under attack. Some responses might be session invalidation, logging, or notification to an administrator.


Risk Factors

TBD

Examples

TBD

Related Attacks


Related Vulnerabilities


Related Controls

Validation must be performed in the business layer.


Related Technical Impacts


References

TBD