Difference between revisions of "Validation performed in client"

From OWASP
Jump to: navigation, search
Line 1: Line 1:
 
{{Template:Vulnerability}}
 
{{Template:Vulnerability}}
  
==Overview==
+
{{Template:Vulnerability}}
 +
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''
 +
 
 +
[[ASDR_TOC_Vulnerabilities|Vulnerabilities Table of Contents]]
 +
 
 +
[[ASDR Table of Contents]]
 +
__TOC__
 +
 
 +
 
 +
==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.
 +
 +
 +
==Risk Factors==
 +
 +
* Talk about the [[OWASP Risk Rating Methodology|factors]] that make this vulnerability likely or unlikely to actually happen
 +
* Discuss the technical impact of a successful exploit of this vulnerability
 +
* Consider the likely [business impacts] of a successful attack
 +
  
 
==Examples==
 
==Examples==
TBD
 
  
==Related problems ==
+
===Short example name===
 +
: A short example description, small picture, or sample code with [http://www.site.com links]
 +
 
 +
===Short example name===
 +
: A short example description, small picture, or sample code with [http://www.site.com links]
 +
 
 +
 
 +
==Related [[Attacks]]==
 +
 
 +
* [[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
 
TBD
  
 +
 +
__NOTOC__
 +
 +
 +
[[Category:OWASP ASDR Project]]
 
[[Category:Input Validation Vulnerability]]
 
[[Category:Input Validation Vulnerability]]
 
[[Category:Range and Type Error Vulnerability]]
 
[[Category:Range and Type Error Vulnerability]]

Revision as of 11:04, 3 October 2008

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


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


Last revision (mm/dd/yy): 10/3/2008

Vulnerabilities Table of Contents

ASDR Table of Contents

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

  • Talk about the factors that make this vulnerability likely or unlikely to actually happen
  • Discuss the technical impact of a successful exploit of this vulnerability
  • Consider the likely [business impacts] of a successful attack


Examples

Short example name

A short example description, small picture, or sample code with links

Short example name

A short example description, small picture, or sample code with links


Related Attacks


Related Vulnerabilities


Related Controls

Validation must be performed in the business layer.


Related Technical Impacts


References

TBD

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