Academia.eduAcademia.edu

Bypass testing of web applications

Proc. of ISSRE

Abstract

Web software applications are increasingly being deployed in sensitive situations. Web applications are used to transmit, accept and store data that is personal, company confidential and sensitive. Input validation testing (IVT) checks user inputs to ensure that they conform to the program's requirements, which is particularly important for software that relies on user inputs, including Web applications. A common technique in Web applications is to perform input validation on the client with scripting languages such as JavaScript. An insidious problem with client-side input validation is that end users can bypass this validation. Bypassing validation can reveal faults in the software, and can also break the security on Web applications, leading to unauthorized access to data, system failures, invalid purchases and entry of bogus data. We are developing a strategy called bypass testing to create IVT tests. This paper describes the strategy, defines specific rules and adequacy criteria for tests, describes a proof-of-concept automated tool, and presents initial empirical results from applying bypass testing.

Key takeaways

  • Doing input validation on the client avoids the need for a trip to the server and allows the checking to be defined within the input form.
  • However, it turns out to be easy for users to bypass the HTML to send values directly to the server software.
  • A form input unit is an HTML form that specifies the server component as the Action attribute within the Form tag, and the input data corresponds to all the input fields within the form.
  • Additionally, users of Web applications can not only change the values of input parameters, but can also change the number of input parameters and the control flow.
  • Third, this model supports more general input validation testing, and rules are defined for bypass and input validation.