Article Preview
TopIntroduction
Nowadays, Web applications are used worldwide by users for their personal needs but what make Web applications more and more important are the business intentions to use the Web. Web application become one of the most core business assists that must be surrounded by special security guards that are not less than any other assets as stated by Pan and Li (2009). Security issues may harm the benefits of businesses, but here comes the story; these are not ordinary guards, they are IT experts with high salaries, and the enemies here are also different, they are everywhere and nowhere, aided by the same defense methods you use that are Information technologies.
Currently, most of the businesses provide services to its customers using the Web and many of them depend on the Web to do their business in order to make benefits from the global accessibility of the Web. For example, E-commerce is a novel commerce model based on computer network; the E-commerce model depends mainly on money and whenever you find money in any filed, risks become higher and new type of attacker who have a mission to steal money from you not just for fun and self-motivation will be founded (Antunes & Vieira, 2009).
As demonstrated by Guo, Yu, and Chiueh (2005) the wide usage of Web applications and services poses new security challenges on developers and testers, hundreds of new vulnerabilities are being discovered annually and dozens of new patches are being released monthly. So, sensitive data manipulated for these applications must be protected against the attackers who are trying to find vulnerabilities in this kind of applications; these vulnerabilities came from many sources starting from bad wiring code, servers used and firewall.
Keeping the data secure and ensuring that the application is available need extensive search over the test cases. Time challenges make it not practical to test the application code and find vulnerabilities using white box testing; even it’s the best way. Black box testing reduces testing effort and can be automatically repeated extensively to find new vulnerabilities beside the face its meets the time criteria needed by the Web application testing. Pen testing is black box testing method which tries to act like an attacker and use scientific method to find vulnerabilities before the attackers do this using tools and sometimes manually, as defined by Kwon et al. (2005): Pen testing is a goal-oriented method similar to “catch-the-flag” that attempts to gain privileged access to a system using pre-conditional means that a potential attacker could manipulate.
Several studies (Pan & Li, 2009; Antunes & Vieira,2009; Orloff, Petukhov, & Kozlov, 2008; Zhao, Zheng, & Chen, 2009; Fonseca, Vieira, & Madeira 2007) addressed web application vulnerabilities and Pen testing. Many Web vulnerabilities such as SQL Injection (Viera et al., 2009; Livshits & Lam, 2005; Halfond, Viegas, & Orso, 2006), XPath Injection (Viera, Antunes, & Madeira, 2009), Cross-site scripting (Livshits & Lam, 2005; Erlingsson, Livshits, & Xie, 2007), Path traversal (Livshits & Lam, 2005), HTTP response splitting (Livshits & Lam, 2005), and Command injection (Livshits & Lam, 2005; Jovanovic, Kruegel, & Kirda, 2006) exist and one of the useful solutions for such vulnerabilities is using Pen testing. Pen testing is new field of study highly needed and interesting for both technical and researcher. With many tools and no standards in this field it is complicated for the tester to start pen testing. Setting Pen testing steps and what is the information needed for each step along with the tools to aid testers in doing their job are ambiguous and still depend on the tester and the application framework used in the development process. Without code, setting as just a user is pen testing in practice. Repeating testing process many times beside all what has been discussed make the tools used in pen testing process very important and effect the overall testing process.