Monday, September 21, 2009

Security Testing - Web 2.0 and Web Applications

Web application security is not like regression testing that you come up with test scenarios once and keep running these from time to time or build to build. Rather security testing is a process to determine :confidentiality, integrity, authentication, authorization, availability, and non-repudiation. Despite of the fact that you have best of best firewall, still security attacks on web applications is a huge concern and something that needs to be treated an important aspect of quality assurance or testing of web 2.0 - new web apps.

What kind of security attacks possibly could be detected and needs to be taken care of as part of testing: Vulnerability: Cause of vulnerability can be bugs in application or script code or presence of viruses.
URL manipulation: When web application communicates between client and server through a regular means - browser, changing information in URL could led to unintended behavior on server side.
XSS - Cross-site scripting: Standard issue when one tries to insert client-side script and when such insertion is viewable to user then one must test for XSS attacks.
SQL Injection: Insertion of SQL query which is then executed by server.

Test Approach To Perform:
URL Manipulation through HTTP GET Methos: In HTTP GET methods, information is sent in the form of querystring. One should modify parameter value in querystring to check if server accepts it.

SQL Injection: These are very critical as attacker get vitalinformation from server database. To check these, look at the snippet of code where direct MySql queries are executed by accepting some user inputs.If user input data is crafted in SQL queries to query the database, attacker can inject SQL statements or part of SQL statements as user inputs to extract vital information from database. Even if attacker is successful to crash the application, from the SQL query error shown on browser, attacker can get the information they are looking for. Special characters from user inputs should be handled/escaped properly in such cases.

XSS - Cross-Site Scripting: As the name suggests one must test applications for XSS using any HTML or any script

No comments:

Post a Comment