SERVER SIDE API TO SECURE XSS

Size: px
Start display at page:

Download "SERVER SIDE API TO SECURE XSS"

Transcription

1 SERVER SIDE API TO SECURE XSS Thesis Submitted in partial fulfillment of the requirements for the degree of MASTER OF TECHNOLOGY in COMPUTER SCIENCE & ENGINEERING - INFORMATION SECURITY by KAMESH KUMAR BOGANATHAM 07IS04F DEPARTMENT OF COMPUTER ENGINEERING NATIONAL INSTITUTE OF TECHNOLOGY KARNATAKA SURATHKAL, MANGALORE July, 2009

2 NATIONAL INSTITUTE OF TECHNOLOGY KARNATAKA, SURATHKAL D E C L A R A T I O N I hereby declare that the Report of the P.G. Project Work entitled SERVER SIDE API TO SECURE XSS which is being submitted to National Institute of Technology Karnataka Surathkal, for the award of degree of Master of Technology in Computer Science and Engineering Information Security in the Department of Computer Engineering, is a bonafide report of the work carried out by me. The material contained in this report has not been submitted to any university or Institution for the award of any degree. 07IS04F, B KAMESH KUMAR Register Number, Name and Signature of Student Department Computer Engineering Place: NITK, SURATHKAL Date:

3 C E R T I F I C A T E This is to certify that the P.G Project Work Report entitled SERVER SIDE API TO SECURE XSS submitted by B KAMESH KUMAR Reg.No. 07IS04F as the record of the work carried out by him, is accepted as the P.G Project Work Report Submission in partial fulfillment of the requirements for the award of degree of Master of Technology in Computer Science and Engineering Information Security in the Department of Computer Engineering, National Institute of Technology Karnataka, Surathkal. External Guide Internal Guide Mr. Radhesh Mohandas Adjunct Faculty Department of Computer Engineering NITK Surathkal Mr. Alwyn R Pais Senior Lecturer Department of Computer Engineering NITK Surathkal Chairman- DPGC

4 DEDICATED TO THEIR LORDSHIPS SRI SRI RADHA VRINDAVANA CHANDRA

5 ACKNOWLEDGEMENTS I take this opportunity to express my deepest gratitude and appreciation to all those who have helped me directly or indirectly towards the successful completion of this project. First and foremost, I would like to express my sincere appreciation and gratitude to my esteemed guides Mr. Radhesh Mohandas, Adjunct Faculty and Mr. Alwyn R Pais, Senior Lecturer, Department of Computer Engineering, NITK Surathkal for their insightful advice, encouragement, guidance, critics, and valuable suggestions throughout the course of my project work. Without their continued support and interest, this thesis would not have been the same as presented here. I express my deep gratitude to Mr. K. Vinay Kumar, Asst. Professor and Head, Department of Computer Engineering, National Institute of Technology Karnataka, Surathkal for his constant co-operation, support and for providing necessary facilities throughout the M.Tech program. I would like to take this opportunity to express my thanks towards the teaching and non- teaching staff in Department of Computer Engineering, NITK for their invaluable help and support in these two years of my study. I am also grateful to all my classmates for their help, encouragement and invaluable suggestions. My special thanks to my parents, supporting family and friends who continuously supported and encouraged me in every possible way for successful completion of this thesis. I am forever indebted to you all. B Kamesh Kumar

6 This Page is intentionally left blank

7 ABSTRACT With Internet becoming ubiquitous in every aspect of our life, there is an increase in the web applications providing day to day services like banking, shopping, mailing services, news updates, etc. But most of these applications have vulnerabilities or security loopholes like Cross site scripting XSS, Cross-site request forgery CSRF, SQL Injection which are being exploited by the hackers for malicious purposes. Hence there is a need for API s/automated security tools to identify and/or prevent these vulnerabilities before the application goes live. This work focuses on developing a server side API for Cross-site Scripting which differentiates XSS attack from simple script. Thus novice users can enjoy the safe and better experience of browsing without any surge of functionality, need of additional software or configuration at browser side. Developing such API also reduces burden to web administrators to safe guard their web applications from malignant XSS attacks. Keywords: Web Applications, Cross-site Scripting XSS, Cross-site Request forgery CSRF/XSRF, Server-side XSS Filter.

8 This Page is intentionally left blank

9 TABLE OF CONTENTS Page No. Title Declaration Certificate Dedication Acknowledgement Abstract Table of contents List of figures List of tables Nomenclature/Acronyms i iv v vi Chapter I INTRODUCTION Cross-site Scripting Attacks Motivation Organization of Thesis 3 Chapter II CROSS-SITE SCRIPTING Introduction to Cross-site Scripting A Basic Example Malicious Code Classification of Cross-site Scripting Reflected XSS Stored XSS DOM based XSS Threats from Cross-site Scripting 11 i

10 2.6 Cross-site Scripting and Phishing Introduction to Phishing Phishing Tricks Cross-Site Scripting based Phishing Attack Real World Examples XSS Vs. CSRF 18 Chapter III EXISTING XSS DEFENSES AntiSamy The strip_tags PHP Input Filter HTML_Safe/SafeHTML Kses htmlawed Safe HTML Checker HTML Purifier Summary 29 Chapter IV PROBLEM STATEMENT 30 Chapter V DIFFERENTIATING XSS FROM SIMPLE SCRIPTS 31 Chapter VI IMPLEMENTATION DETAILS AND EXPERIMENTAL RESULTS Procedure Implementation Details Working of SecureXSS Results 43 Chapter VII CONCLUSIONS 45 ii

11 REFERENCES 46 APPENDIX I OWASP The Ten Most Critical Web Application 48 Security Vulnerabilities APPENDIX II Results of SecureXSS API 51 APPENDIX III Results of HTML Purifier 80 APPENDIX IV Simple HTML DOM Parser array 95 Resume Bio-Data 125 iii

12 LIST OF FIGURES Fig. No. Descripton Page No. 2.1 Sample PHP Code for Site Search Engines Sample HTTP Response Page Containing the <SCRIPT> Tag Cross-Site Scripting in Site Search Engines Sample Malicious Code for Cookie Theft An Attack Scenario of Cross-Site Scripting Examples of Phishing Tricks Cross-Site Scripting based Phishing Attack Maria Sharapova s Home Page Defacement Server-side XSS Filtering API SecureXSS overhead 44 1 MITRE data on Top 10 web application vulnerabilities for iv

13 LIST OF TABLES Table No. Descripton Page No. 3.1 Kses API s Tags and its attributes which are in favour of attackers Extensions allowed DOM Properties which will cause XSS attacks SecureXSS timing test overhead results 43 1 OWASP Top 10 Web Application Vulnerabilities 49 2 Results of SecureXSS 51 3 Results of HTML Purifier 80 v

14 Nomenclature/Acronyms Notation Description XSS OWASP XSRF/CSRF PHP URL URI HTML HTTP Cross-site Scripting Open Web Application Security Project Cross-site Request Forgery Hypertext Pre Processor Uniform Resource Locator Uniform Resource Identifier Hyper Text Markup Language Hyper Text Transfer Protocol vi

15 This Page is intentionally left blank

16 CHAPTER 1 INTRODUCTION With the proliferation of the Internet, there has been a surge in the web services being offered by many corporations like e-banking, e-shopping, etc. As most of these applications are not developed with best security practices, there is an increase in the malicious attacks against these services, which exploits the vulnerabilities in these applications to acquire material gains or to steal the credentials of the novice users who use these web services. This has resulted in more research focus in this domain to create new tools and techniques to subvert these kinds of attacks. There are many research groups in academics and industry working in this domain to find out more secure programming practices and tools to identify the vulnerability of these applications during development phase and attacks during the real time. The OWASP Top 10 report [OWA] lists the following as the ten most critical web application security vulnerabilities that are been exploited: Cross Site Scripting XSS Injection Flaws SQL Injection, XPath Injection, LDAP Injection, etc Malicious File Execution Insecure Direct Object Reference Cross Site Request Forgery CSRF Information Leakage and Improper Error Handling Broken Authentication and Session Management Insecure Cryptographic Storage Insecure Communications Failure to Restrict URL Access In this work, we focused on Cross-site Scripting XSS, which facilitates the hacker to insert some malicious script to the web application that may cause any kind of harm to legitimate user. In the process, we developed a server side XSS filtering API, which differentiates Potential XSS attack from the simple XSS and strips it off. The main goal of this work is to provide a XSS 1

17 solution to web administrators to safe guard their applications from attackers, which results in safe and better experience browsing to lame user without any surge in functionality. 1.1 Cross-site Scripting Attacks Cross-site scripting attack method was first discussed in a CERT advisory back in 2000 [CER]. But, even today cross-site scripting XSS is one of the most common vulnerabilities in web applications. It happens as a result of insufficient filtration of data received from a malicious person and then sent to third parties. Systems that receive data from users and display it on other users' browsers are very vulnerable to an XSS attack. Wikis, forums, chats, web mail - are all good examples of applications most susceptible to XSS. Cross-site scripting XSS can be defined as a security exploit in which an attacker inserts malicious code into a page returned by a web server trusted by a user. This code may reside on the web server or be explicitly inserted when the user browses to the particular web site, it may contain JavaScript or just HTML, and it may use third party sites as sources or rely only upon the resources of the targeted server. The XSS attacks typically involve JavaScript code from a malicious web server executing on a user's web browser. Chapter 2 gives the brief knowledge about XSS attack and its types with examples and illustration. 1.2 Motivation In the last years, dynamic Web applications such as online banking systems and online shops are becoming more and more popular. At the same time, security attacks that exploit Web application vulnerabilities are increasing dramatically. Among such vulnerabilities, Cross-Site Scripting is the most common security issue as it is already said, it is the top most vulnerability as per OWASP 2007 report, which enables attackers to steal credentials from a victim to gather sensitive information or cause a Web site to be unavailable. To mitigate such serious impact, Web applications should use an effective solution for Cross-Site Scripting flaws. Manual security testing for mitigation is however both expensive and error prone due to the increasing complexity of Web applications. Hence, automated tools for detecting Cross-Site Scripting flaws are essential. 2

18 We have investigated some available solutions which claim to be state-of-the-art. Unfortunately, most of them are not effective solutions as they fail in differentiating simple scripts from potential XSS attack. Therefore, we have developed SecureXSS pronounce as Secure Excess, an open-source server-side filter for detecting and filtering Cross-Site Scripting vulnerabilities in Web applications. 1.3 Organization of Thesis The rest of the thesis is organized as follows. Chapter 2 gives the brief information about XSS attack and its types with live examples and illustration. Chapter 3 deals with the available solutions for XSS, while Chapter 4 describes the problem statement. Chapter 5 details our solution to mitigate XSS which is called SecureXSS: Server-side XSS Filter. Chapter 6 gives the implementation details and experimental results and Chapter 7 concludes the thesis along with the future work, followed by the references used. Appendix I details the Top 10 most critical web application vulnerabilities. Appendix II shows the results of SecureXSS API, while Appendix III shows results of HTML Purifier and Appendix IV shows the Simple HTML DOM Parser Array. 3

19 CHAPTER 2 CROSS-SITE SCRIPTING Cross-Site Scripting vulnerabilities are quite widespread. Just taking a look at the Bugtraq mailing list, innumerable postings alarming Cross-Site Scripting holes are listed regularly. As mentioned in the introduction chapter, Cross-Site Scripting vulnerabilities are the most common security loopholes found in over 80 percent of Web sites. Hence, the likelihood that a Web site is XSS vulnerable is extremely high. According to the Information-Technology Promotion Agency IPA, from July 2004 to September 2005, attacks using Cross-Site Scripting are the most serious issue among all Web application attacks was accounted for 42%, while SQL Injection is ranked second with 16%. Thus, it is imperative to make Web applications secure against XSS attacks. In this chapter, we start by briefly explaining the XSS problem with a basic example, and then we give an introduction to malicious code and how XSS attacks work. After presenting the classification of XSS, we describe the risks that XSS may cause. 2.1 Introduction to Cross-site Scripting As introduced in the previous chapter, Web applications are becoming not only increasingly popular, but also more and more vulnerable. Attack techniques exploiting various types of Web application vulnerabilities are becoming more and more sophisticated. A particular class of these attack techniques is referred to as Cross-Site Scripting or HTML Code Injection, which takes advantage of the failure of Web applications, that do not validate user input before displaying it back to the user. Such attacks involve commonly three parties: the user victim, the attacker, and the website, which is XSS vulnerable. The attacker uses the poorly designed legitimate website as a vehicle to execute malicious code as it was originated from a trusted source in the user s browser. As explained above, XSS attacks occur when an attacker uses a web application to send malicious code generally in the form of a browser side script, to a different end user. Flaws that allow these attacks to succeed are quite widespread and occur anywhere in a web application, it 4

20 uses input given by user in the output it generates, without validating or encoding it. An attacker can use XSS to send a malicious script to an unsuspecting user. The end user s browser has no way to know that the script should not be trusted, and will execute the script. Because it thinks the script came from a trusted source and have the malicious script can access cookies, session tokens, or other sensitive information retained by your browser and used with that site. These scripts can even rewrite the content of the HTML page [XSS]. 2.2 A Basic Example Most web applications contain site search engines. Such site search engines usually display the results on the screen together with the search phrase entered by users. As an example consider the PHP code shown in figure 2.1, in which the text after Search results for is generated dynamically according to the user input. When the search phrase user input is not sanitized properly, Cross-Site Scripting may occur which can also be an attack. As illustrated in figure 2.3 a, after clicking on the search button, we get the search phrase entered in the form field here search text displayed in the response page, regardless of the search results. We experiment now with HTML tags, as illustrated in figure 2.3 b, the search phrase returned here Hello World is formatted as bold, instead of displaying the text we entered Hello World embedded in the HTML tag <b>. Besides displaying the formatted search phrase, we can also cause JavaScript code to be executed in the browser most browsers enabled JavaScript by default. As illustrated in figure 2.3 c, in place of showing the search phrase, a JavaScript alert box with the text XSS Vulnerability popped up. It is for the reason that browser interprets the search phrase we entered as HTML tag instead of text. In the sample HTTP response page shown in figure 2.2, the <SCRIPT> tag introduces a JavaScript program and thus it is not displayed by the browser. 2.3 Malicious Code Considering the example above, one may ask, it just throws up an alert box, how dangerous can it be? Right, alert pop ups are annoying; however they do not really cause security issues. We just use it to demonstrate that a Web application is vulnerable to XSS. If the JavaScript alert function can be executed, there is commonly no reason that other JavaScript functions containing malicious code cannot succeed. 5

21 Figure 2.1: Sample PHP Code for Site Search Engines Figure 2.2: Sample HTTP Response Page Containing the <SCRIPT> Tag a Search for a Simple Text b Search for a Formatted Text 6

22 c Search for an Executable Script Figure 2.3: Cross-Site Scripting in Site Search Engines Attackers exploit XSS vulnerabilities in order to execute the injected malicious code. What on earth does malicious code mean? Which impact may it cause? Next, we will give an introduction to malicious code. Most Web browsers are able to run scripts embedded in Web pages downloaded from a Web server by default. Such scripts are usually written in various scripting languages such as JavaScript and VBScript, which are introduced by the HTML scripting tag <SCRIPT>. In addition to the scripting tags, many other HTML tags like <IMG> tag can be misused to load malicious code. Malicious code is able to rewrite an HTML page with fraudulent content, or redirect the client s browser to the page of attackers; it can even access authentication cookies, session management tokens, or other sensitive information. With this information, an attacker is able to hijack the victim s active session and thus, bypass the authentication process completely. Consider the script in figure 2.4, when this script is injected into a page of the site e.g. successfully and a victim s browser loads this page, the embedded script will be executed and store the victim s cookie from this site. Now, the attacker is able to access the victim s account and masquerade himself as the victim. Figure 2.5 illustrates this scenario Figure 2.4: Sample Malicious Code for Cookie Theft 7

23 Figure 2.5: An Attack Scenario of Cross-Site Scripting Steps shown in the Figure 2.5 is explained below in details. 1 A user logs in a XSS vulnerable site. 2 The site sets cookies e.g. ID=123 to the user, which is saved in the browser. 3 An attacker knows that the site displays a parameter without validating e.g. the parameter name, he constructs a link with the malicious code described in figure 2.4 and tricks the user into clicking on this link. 4 The unsuspecting user clicks on the link and an HTTP request containing the malicious code from the attacker is sent to the XSS vulnerable site. 5 According to the request, the site generates response page having malicious code embedded and displays this page to the user. 8

24 6 While user views the response page, the malicious code gets executed in the user s browser, cookies of that web site are sent to the attacker. 7 The attacker has now access to the user s account and can masquerade himself as the user. The possible sources of malicious code include URL query string, HTML form fields, HTTP headers and cookies, etc. Since malicious code is embedded in the user s trusted websites, it is allowed to perform dangerous operations smoothly. Websites using SSL are not more protected against malicious code than those general websites. SSL only encrypts data including the malicious code transmitted in the connection, it does not attempt to validate data. Therefore, XSS attacks can be achieved as usual, except that they occur in an encrypted connection. 2.4 Classification of Cross-site Scripting Generally, Cross-Site Scripting attacks can be classified into three categories: Reflected non-persistent, Stored persistent and DOM - based. Before we describe these three categories, we should learn about DOM, to understand the third type of XSS. The Document Object Model DOM is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Objects under the DOM also sometimes called "Elements" may be specified and addressed according to the syntax and rules of the programming language used to manipulate them. In simple terms, the Document Object Model is the way JavaScript sees its containing HTML page and browser state. Next, we will describe these three categories respectively Reflected XSS Reflected XSS also referred to as non-persistent XSS is by far the most common type, which implicates that after a request, the page containing malicious code is returned to the Web browser immediately. Normally, a non-persistent XSS attack requires deceiving a user into visiting a specially manipulated URL with embedded malicious code using social engineering techniques. When a user is tricked into clicking on the malicious link, it causes the code embedded in the URL to be executed in the Web browser, and the attack is achieved. 9

25 2.4.2 Stored XSS In contrast to reflected XSS, stored XSS also referred to as persistent XSS implicates that when the malicious code is injected to a website; it is stored in a database or XML files over a longer period, and displayed to users in a webpage later. This kind of XSS is more serious than other types, because an attacker can inject malicious code just once, and affect a large number of unsuspecting users, it is even hardly necessary for attackers to trick the users into clicking on a link containing malicious code. For example, if the malicious code is stored in a database, without clicking on any link, the innocent user may become victim by just viewing the page that contains the stored malicious code. There is another kind of stored XSS that uses techniques to manipulate user s cookies. With such techniques, attackers are able to tamper the cookie content with malicious code and cause the code to be executed each time when the user visits the website. Examples of web applications, which are especially vulnerable by stored XSS, often include discussion forums, guest books, webmail systems, etc. RSS feeds that are popularly used in web blogs, news sites can also be used as vehicle to achieve such attacks. Here is the real world example of a persistent XSS attack that occurred on the most popular online auction website ebay. As reported by US-CERT16 in April 2006, when an ebay user posts an auction, <SCRIPT> tags are allowed to be included in the auction description, which creates a XSS vulnerability in the ebay Web site. Attackers are exploiting this vulnerability to redirect auction viewers to a fake ebay login page that requests login information to steal credentials [USC] DOM based XSS Besides the XSS attacks described above, which are considered as standard XSS, there is also a third kind of XSS attack, namely, DOM-based XSS. Unlike the standard XSS attacks, which rely on the dynamic web pages, a DOM-based XSS attack does not require sending malicious code to the server necessarily and thus can also use static HTML pages. 10

26 The problem is addressed in the client-side script i.e. JavaScript within a page itself, which retrieves data from certain DOM objects without encoding the URL characters. The DOM objects mentioned here include: - document.location - document.url - document.referrer We make this clear by means of a simple example. Assuming that the following script resides within a HTML page, this script displays the text retrieved from the current URL somewhere in the page. <SCRIPT>document.writedocument.URL;</SCRIPT> When we enter the following URL into the address bar in a browser, we will get an alarm box with the text XSS, thus it results in XSS hole Threats from Cross-site Scripting Some of the common threats from XSS attacks are listed below: Cookie theft and account hijacking: one of the most severe XSS attack involves cookie theft and account hijacking as the scenario illustrated previously in figure 2.5. Credentials stored in cookies can be stolen by attackers, thus it is possible for attackers to steal user s identity and access his confidential information. For normal users, this means that their personal data such as credit card information or bank account may be misused. For users having high privileges such as administrators, if their accounts are stolen via XSS, attackers are able to access the web server and the backend database system, and thus have the full control of the web application. Misinformation: another critical threat from XSS is the danger of credentialed misinformation. XSS attacks may include malicious code, which can spy on user s surf behavior and thus gain statistics i.e. logging user s clicks or history of sites visited. Consequently, it results in loss of privacy. Another kind of misinformation is that 11

27 malicious code is able to modify the presentation of page content, once it is executed in a browser. This enables an attacker to manipulate a press release or important news, even to alter the stock price of companies, which results in loss of integrity. Malicious script may also modify the login page, together with Phishing; a victim may submit his login information to the attacker unconsciously. Denial of Service: In view of an enterprise, it is imperative that their Web applications are should be accessible all the time. However, malicious script can lead to loss of availability. For example, it can redirect users browser to other websites. The spread of the XSS worm on Myspace.com described previously is another example of a Denial of Service attack. In view of users, malicious script can also make a user s browser crash or become inoperable i.e. by throwing infinitely many alert boxes, so that the user cannot reach the Web application any more. Browser exploitation: malicious script can redirect client browsers to an attacker s site, so that the attacker is able to take advantage of specific security hole in web browsers to control users computer by executing arbitrary commands, such as to install Trojan horse programs on the client or upload local data containing sensitive information. 2.6 Cross-site Scripting and Phishing This part of the thesis will give a brief explanation about phishing kind of cross site scripting. Section Will give introduction about phishing and Section will explain some tricks of the phishing, while Section explains cross-site scripting based phishing attacks Introduction to Phishing Phishing as in fishing for sensitive data, is the act of tricking someone into giving them sensitive information like credit card numbers, passwords, bank account information, or other personal data using social engineering techniques [STA, OLL]. Phishing uses usually s as medium, which look like coming from banks, ask users to log into their online-banking system, or change their password, or input their credit card number. In the last years, Phishing has become a major issue, according to the Pew Study [PEW], in 12

28 October 2005, more than a third of users suffered Phishing, and two percent have responded by providing personal financial information. a Similar or Misspelled Domain Names b URL Hex Encoding c Using HTML Coding to Hide the Real Link Figure 2.6: Examples of Phishing Tricks Phishing Tricks Tricks commonly used for Phishing include: Similar or misspelled domain names see figure 2.6a. Phisher s may also substitute the lowercase of L with the uppercase of I, because they are hard for the users to distinguish. Using encoded URL. These tricks are used to encode the URL to disguise its true value by using Hex, Unicode, or UTF-8 encoding. An example of Hex Encoding is illustrated in figure 2.6b. Using HTML coding to hide the real link see figure 2.6c. The real link is not directly visible to the user. As soon as he clicks the link, he is taken to the fake site of the attacker instead of the site indicated. Using fake banner advertising. Phisher s can use copied banner advertising and publish it on the Internet. Similar to the example above, the destination is linked to the fake site, and it is not directly visible to the users. 13

29 2.6.3 Cross-Site Scripting based Phishing Attack The Phishing tricks described above misdirect users to fake sites. But if the Phishing site is the real site, this kind of Phishing attack is more dangerous, since users trust the real site. Such attacks can be achieved, when a site is XSS vulnerable. The example below will demonstrate sample of this attack. For a Cross-site Scripting based Phishing attack; the following steps should be taken: 1. Finding Cross-site Scripting vulnerabilities in a site. 2. Embedding malicious content into a fraudulent . Attacker could use encoded URL to obfuscate the true destination. 3. Sending the spoofed to victims. When a user clicks the link in the spoofed , the login part of the page returned is replaced with the fake login page from the attacker s site, other contents of the page and the address bar remain unchanged. The user is not aware of this and logs in with his personal information, which will be sent to the attacker. After login, the user will be redirected back to the real site. Figure 2.7 illustrates this scenario. XSS based Phishing attacks can bypass the traditional Phishing defenses such as blacklists, SSL notices, etc. The first step to achieve XSS based Phishing attack is to find XSS vulnerabilities in an insecure Web site. 2.7 Real World Examples On April 1, 2007, there was an interesting prank on Maria Sharapova s the famous Tennis player home page Figure 2.8. Apparently someone has identified an XSS vulnerability, which was used to inform Maria s fan club that she is quitting her carrier in Tennis to become a CISCO CCIE Security Expert. The URL that causes the XSS issue looks like the following: 14

30 %3E%3C/script%3E%3Cscript%20src= pt%3e%3c!--&pagenumber=1 Figure 2.7: Cross-Site Scripting based Phishing Attack 15

31 Notice that the actual XSS vulnerability affects the page GET parameter, which is also URL-encoded. In its decoded form, the value of the page parameter looks like this: // --></script><script src= The XSS payload is quite simple. The character sequence // --> comments out everything generated by the page up until that point. The second part of the payload includes a remote script hosted at And finally, the last few characters on the URL make the rest of the page disappear. Figure 2.8 Maria Sharapova s Home Page The script hosted at SecurityLab has the following content: document.write"<h2><font color=#ffffff>maria Sharapova</font></h2>"; document.write"<font color=#ffffff>maria Sharapova is glad to announce you her new decision, which changes her all life for ever. Maria has decided to quit the carrier in Tennis and become a Security Expert. She already passed Cisco exams and now she has status of an official CCIE.</font><p><img src= color=#ffffff>maria is sure, her fans will understand her decision and will respect it. Maria already accepted proposal from DoD and will work for the US government. She also will help Cisco to investigate computer crimes and hunt hackers down.</font></p><p><img src= The story.js script simply adds several paragraphs and a few images on the page. 16

32 Let s have a look at the following example provided by RSnake from ha.ckers.org. RSnake hosts a simple script that performs XSS defacement on every page where it is included. The script is defined like this: var title = "XSS Defacement"; var bgcolor = "#000000"; var image_url = " var text = "This page has been Hacked!"; var font_color = "#FF0000"; defacetitle, bgcolor, image_url, text, font_color; function defacepagetitle, bgcolor, imageurl, pagetext, fontcolor { document.title = pagetitle; document.body.innerhtml = ''; document.bgcolor = bgcolor; var overlay = document.createelement"div"; overlay.style.textalign = 'center'; document.body.appendchildoverlay; var txt = document.createelement"p"; txt.style.font = 'normal normal bold 36px Verdana'; txt.style.color = fontcolor; txt.innerhtml = pagetext; overlay.appendchildtxt; if image_url!= "" { var newimg = document.createelement"img"; newimg.setattribute"border", '0'; newimg.setattribute"src", imageurl; overlay.appendchildnewimg; } var footer = document.createelement"p"; footer.style.font = 'italic normal normal 12px Arial'; footer.style.color = '#DDDDDD'; footer.innerhtml = title; overlay.appendchildfooter; } In order to use the script we need to include it the same way we did when defacing Maria Sharapova s home page. In fact, we can apply the same trick again. The defacement URL is: %3E%3C/script%3E%3Cscript%20src= %3E%3C!--&pagenumber=1 The result of the defacement is shown on Figure 2.9. Website defacement, XSS based or not, is an effective mechanism for manipulating the masses and establishing political and nonpolitical points of view. Attackers can easily forge news items, reports, and important data by using any of the XSS attacks. It takes only a few people to believe what they see in order to turn something fake into something real. 17

33 Examples explained here are taken from [JEG], refer the same for many more real world XSS attacks and examples. Figure 2.9 Defacement 2.8 XSS Vs. CSRF Cross-Site Scripting XSS and Cross-site Request Forgery CSRF attacks are frequently confused as they are clearly related [RRO]. Both attacks are aimed at the user and often require the victim to access a malicious web page. Also the potential consequences of the two attack vectors can be similar: The attacker is able to submit certain actions to the vulnerable web application using the victim's identity. The causes of the two attack classes are different though. A web application that is vulnerable to XSS fails to properly sanitize user provided data before including this data on a webpage, thus allowing an attacker to include malicious JavaScript in the web application. This JavaScript consequently is executed by the victim's browser and initiates the malicious requests. XSS attacks have more capabilities beyond the creation of http request and are therefore more powerful than CSRF attacks. A rogue JavaScript has almost unlimited power over the webpage it is embedded in and is able to communicate with the attacker. As an example, XSS can obtain and leak sensitive information. Cross Site Scripting XSS exploits the trust that a client has for the website or application. Users generally trust that the content displayed in their browsers is same as that it is 18

34 intended to be displayed by the website being viewed. In contrast, CSRF exploits the trust that a site has for the user. The website assumes that if an 'action request' was performed, it believes that the request is being sent by the user [ROB]. An attacker exploits a lack of input and / or output filtering in the case of XSS flaw. Filtering out the dangerous characters like <, >,,, &, ;, or # in an application could resolve the XSS flaw. XSS is related to the application performing insufficient data validation. XSS flaws may allow bypassing of any CSRF protections by leaking valid values of the tokens, allowing Referrer headers to appear to be an application itself, or by hosting hostile HTML and JavaScript elements right in the target application. Therefore resolving XSS flaws should be given priority over CSRF weaknesses [CSRF]. XSS aimed at inserting active code in an HTML document to either abuse client-side active scripting holes, or to send privileged information e.g. authentication/session cookies to a attacker controlled site. CSRF does not in any way rely on client-side active scripting, and its aim is to take unwanted, unapproved actions on a site where the victim has some prior relationship and authority. Where XSS sought to steal the online trading cookies so an attacker could manipulate the victim s portfolio, CSRF seeks to use the victim s cookies to force the victim to execute a trade without his knowledge or consent. 19

35 CHAPTER 3 EXISTING XSS DEFENSES There is dire need for web applications to provide users with the ability to format their profile or postings using Hypertext Markup Language / Cascading Style Sheet HTML/CSS. To attain that functionality, developers must allow users to provide their own source code directly or give the user an intermediate language with which the user can work. As the simple solutions, there are many lightweight markup languages apart from HTML available like BBCode [BBC], Wikitext [WIT], Markdown [MAD], Textile [TEX], WYSIWYG, which will be parsed by message board system before being translated to markup language that web browsers understand can be HTML or XHTML. An example intermediate language code for rendering green text can be shown below. [color=green]sample Text[/color] After translation the above code would be rendered to the user s browser in the target language, HTML/CSS as seen below <font color= green > Sample Text </font> This is a safe approach in general because it does not allow users to specify arbitrary target language code which can be obfuscated and disguised using various encoding and fragmenting techniques. By providing an intermediate language and interpreting it in a top-down fashion the application can only render the subset of HTML functionality that they wish to interpret. There is a practical problem with this approach. The user will be fairly limited in formatting code because of limited instruction set provided by the web application is unlikely to ever be as complete as the HTML/CSS specifications. However the attributes/ values provided with the attributes in any of these markup languages are not vulnerable, still they face problems related to the way they translate the unknown markup language into secure HTML/XHTML i.e., the translated HTML cannot be secure. 20

36 The other option when providing formatting capability is to allow users to input HTML/CSS directly. If user s input cannot be trusted, it is imperative that the application be able to detect and remove any malicious code. To detect and remove such malicious code, there are some solutions developed. In this Chapter we ll see such solutions one by one in detail. 3.1 AntiSamy The primary focus of developers while developing AntiSamy [ANT] in reference to Samy Kamkar s now infamous MySpace XSS worm. is to create a XSS filter that works on a positive and customizable security model. The secondary focus was to make this tool as user friendly as possible so as to allow applications using it to communicate to the user how their input was filtered or how they could tune it themselves in order to accommodate a more successful filter. AntiSamy first sanitizes the user given input using NekoHTML to avoid false positives because of unbalanced start or end markers. NekoHTML is a Java API that transforms unbroken of any version into clean XHTML 1.0, which is also standalone of its kind. The main validation processing takes place in a depth-first fashion. Starting with the root, each node is processed according to the specifications inside the security model XML file given with the node name e.g., html or input. There are three modes of validation also called processing actions: filter, truncate and validate and they are each described in the following section. Filter The filter processing action performs no validation per se, but only removes the start and end tags, promoting the tag s contents. This sanitization is useful in many cases. For example, if you decided you wouldn t like users to input meta tags that could mess with your robot indexing, setting filter would have the effect demonstrated below. User Input: <meta name= expires;-1; >This is some text.</meta> Output after Filtering: This is some text. 21

37 Truncate When the truncate processing action is set, no actual validation takes place. The truncate action simply removes all the attributes and child nodes of a tag, making validation of its attributes unnecessary. A number of tags should be set to truncate. User Input: <br unknownattributeattack= 1attack onclick= alertdocument.cookie > Output after Truncating: <br/> Many formatting tags are set to truncate in the default policy file, including em, small, big, i, b, u, center, pre and more. Validate The validate processing action is where the meat of the filtering logic resides. If there are no attributes defined for a tag by the policy file, the validate processing action will act the same as the truncate processing action, except the child nodes will be validated instead of removed. The validate action steps through each of the attributes in the tag to be filtered and checks if there is a corresponding entry for that tag and attribute combination in the policy file. If no entry is found, the attribute is simply removed. If there is an entry, the filter tries to validate its value against the rules in the entry. There are two ways for an attribute value to be validated; by being equal to a literal string value or by the matching of a regular expression. Accordingly, each attribute s definition in the policy can have a list of valid literal strings and a list of regular expressions to match. This is a departure from other XSS filters and other security tools, in general that don t allow for multiple ways to specify valid values, which force the user into writing overly complex and likely incomplete or unpredictable regular expressions. When an attribute does not pass a validation check, one of a few oninvalid actions is taken. The possible oninvalid actions dictate what to do with the tag and its contents. The set of 22

38 oninvalid actions includes removetag, filtertag and removeattribute. The default action is removeattribute. If an attribute with the removetag set for its oninvalid action fails validation, the tag holding the attribute being checked and its contents will be removed entirely. This oninvalid action is reserved for those attributes, which when removed, make the presence of the tag meaningless. An example usage of this setting is displayed below. Welcome, my name is <script> var cke = document.cookie; var url= +cke; document.location = url; </script> and I m 25 years old! Above shown is the message posted by user. The result after failing to validate this code is shown below. Welcome, my name is and I m 25 years old! If an attribute with an oninvalid action set to filtertag fails validation, the start and end tag of the node will be removed while the contents are promoted. This is exactly what happens in the filter processing action. The process can be seen below. <a href= javascript:alert xss >Click on this!</a> Above shown is the message posted by user. The result after passing this message to AntiSamy will be: Click on this! The default oninvalid action is removeattribute. When this oninvalid action is set or if none is set on an attribute that fails validation, the attribute itself is removed from the tag, but the tag and its contents will remain. The process is shown below. <input src= javascript:alert xss type= button value= Hi! > 23

39 Above shown is the message posted by user. The result after passing this message to AntiSamy will be: <input type= button value= Hi! > The knowledge base for the filter s engine is an XML file called antisamy.xml. The same policy file can be used across multiple implementations.net, J2EE, etc.. The default policy file was tailored to W3C s HTML 4.0 and CSS 2.0 specifications. Thus any official attributes which is dictated by the specifications can be used. If a user agent supports an attribute not specified, it can be added to the policy file, though some effort has already been put in integrating those nonstandard attributes which are being used and honored in the wild. To summarize, OWASP AntiSamy is an API implemented in Java and.net to ensure user-supplied HTML/CSS is in compliance within an application rules. It has very good XSS cleaning abilities, so long as it removes things it doesn t recognize. Architecturally speaking, OWASP AntiSamy is highly dependent on policy files, which is a highly extended form of XML Schema with information on what attributes and elements to allow. As such, the actual code for filtering is relatively light-weight. Unfortunately, while XML Schema files can get a high level of control on the validation, the regular expression heavy approach begins showing signs of stress when data-types are complex e.g. URIs. 3.2 The strip_tags The PHP function strip_tags [STT] is the classic solution for attempting to clean up HTML from unwanted tags like <script> or </script>. It is the worst solution of all to avoid XSS because, the fact that it doesn't validate attributes at all means that anyone can insert malicious scripts in attributes like onmouseover='xss;' and exploit the application. While this can be bandaided with a series of regular expressions that strip out on[event], striptags is fundamentally flawed and should not be used. Example of using strip_tags is illustrated below: <?php $text = '<p>test paragraph.</p><!-- Comment --> <a href="#fragment">other text</a>'; echo strip_tags$text; echo "\n"; 24

40 echo strip_tags$text, '<p><a>'; // Allow <p> and <a>?> In the above example, strip_tags strips all the tags except <p> and <a> tags. By using this malicious tags like <script>, <style> and <form> can be stripped out, but we cannot validate the values of attributes. To validate attributes of tags, we can write extra code at server side, but the solution cannot be efficient and effective. 3.3 PHP Input Filter PHP Input Filter [PIF] is the upgraded version of striptags, with the ability to inspect attributes. PHP Input Filter implements an HTML parser, and performs very basic checks on whether or not tags and attributes have been defined in the whitelist left upto user what he will permit. Since it completely fails in checking the well-formedness, it is trivially easy to trick the filter into leaving unclosed tags. Any user that allows the style attribute will be in great trouble as we can't simply just let CSS through and expect layout not to be badly mutilated. 3.4 HTML_Safe/SafeHTML HTML_Safe/SafeHTML [HTS] mechanism of action involves parsing HTML with a SAX parser and performing validation and filtering as the handlers are called. strip_tags can only strip tags. HTML_safe strips down all active content, including tags, attributes and values of atrributes. This parser strips down all potentially dangerous content within HTML: opening tag without its closing tag closing tag without its opening tag any of these tags: "base", "basefont", "head", "html", "body", "applet", "object", "iframe", "frame", "frameset", "script", "layer", "ilayer", "embed", "bgsound", "link", "meta", "style", "title", "blink", "xml" etc. any of these attributes: on*, data*, dynsrc javascript:/vbscript:/about: etc. protocols 25

41 expression/behavior etc. in styles any other active content It also tries to convert code to XHTML valid, but htmltidy is far better solution for this task. HTML_Safe does a lot of things right, like blacklisting the list of dangerous attributes, But by blacklisting tags like style, applet, etc for the reason that it have some dangerous attributes will result in loss of functionality. Added to this it blocks all the occurrences of XSS by stripping it off. 3.5 Kses Kses [KSS] is an HTML/XHTML filter written in PHP. It removes all unwanted HTML elements and attributes, and it also does several checks on attribute values to avoid buffer overflow attacks. Kses can be used to avoid XSS, as it will only allow the HTML elements and attributes that it was explicitly told to allow. It will remove additional "<" and ">" characters that people may try to sneak in somewhere. The set of API s that Kses allow its user to use are shown below with explaination. Table 3.1: Kses API s API Parse$string = "" AddProtocols Protocols AddProtocol$protocol = "" Functionality The basic function of kses. Give it a $string, and it will strip out the unwanted HTML and attributes. Add a protocol or list of protocols to the kses object to be considered valid during a Parse. The parameter can be a string containing a single protocol, or an array of strings, each containing a single protocol. Deprecated. Use AddProtocols Adds a single protocol to the kses object that will be considered valid during a Parse. 26

42 SetProtocols DumpProtocols DumpElements AddHTML$tag = "", $attribs = array RemoveProtocol$protocol = "" RemoveProtocols filterksestexthook$string _hook This is a straight setting/overwrite of existing protocols in the kses object. All existing protocols are removed, and the parameter is used to determine what protocols the kses object will consider valid. The parameter can be a string containing a single protocol, or an array of strings, each constaining a single protocol. This returns an indexed array of the valid protocols contained in the kses object. This returns an associative array of the valid XHTML elements in the kses object along with attributes for each element, and tests that will be performed on each attribute. This allows the end user to add a single XHTML element to the kses object along with the if any attributes that the specific XHTML element is allowed to have. This allows for the removal of a single protocol from the list of valid protocols in the kses object. This allows for the single or batch removal of protocols from the kses object. The parameter is either a string containing a protocol to be removed, or an array of strings that each contain a protocol. For the OOP Object Oriented Programming version of kses, this is an additional hook that allows the end user to perform additional postprocessing of a string that's being run through Parse. Deprecated. Use filterksestexthook. 27

Towards Automated Malicious Code Detection and Removal on the Web

Towards Automated Malicious Code Detection and Removal on the Web Towards Automated Malicious Code Detection and Removal on the Web Dabirsiaghi, Arshan Open Web Application Security Project Aspect Security, Inc., 2007 Abstract The most common vulnerability in web applications

More information

Intrusion detection for web applications

Intrusion detection for web applications Intrusion detection for web applications Intrusion detection for web applications Łukasz Pilorz Application Security Team, Allegro.pl Reasons for using IDS solutions known weaknesses and vulnerabilities

More information

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats WHITE PAPER FortiWeb and the OWASP Top 10 PAGE 2 Introduction The Open Web Application Security project (OWASP) Top Ten provides a powerful awareness document for web application security. The OWASP Top

More information

Cross-Site Scripting

Cross-Site Scripting Cross-Site Scripting (XSS) Computer and Network Security Seminar Fabrice Bodmer (fabrice.bodmer@unifr.ch) UNIFR - Winter Semester 2006-2007 XSS: Table of contents What is Cross-Site Scripting (XSS)? Some

More information

Cross Site Scripting Prevention

Cross Site Scripting Prevention Project Report CS 649 : Network Security Cross Site Scripting Prevention Under Guidance of Prof. Bernard Menezes Submitted By Neelamadhav (09305045) Raju Chinthala (09305056) Kiran Akipogu (09305074) Vijaya

More information

Project 2: Web Security Pitfalls

Project 2: Web Security Pitfalls EECS 388 September 19, 2014 Intro to Computer Security Project 2: Web Security Pitfalls Project 2: Web Security Pitfalls This project is due on Thursday, October 9 at 6 p.m. and counts for 8% of your course

More information

FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES Purpose: The Department of Information Technology (DoIT) is committed to developing secure applications. DoIT s System Development Methodology (SDM) and Application Development requirements ensure that

More information

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Presented 2009-05-29 by David Strauss Thinking Securely Security is a process, not

More information

Where every interaction matters.

Where every interaction matters. Where every interaction matters. Peer 1 Vigilant Web Application Firewall Powered by Alert Logic The Open Web Application Security Project (OWASP) Top Ten Web Security Risks and Countermeasures White Paper

More information

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities Thomas Moyer Spring 2010 1 Web Applications What has changed with web applications? Traditional applications

More information

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair dave.wichers@owasp.

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair dave.wichers@owasp. and Top 10 (2007 Update) Dave Wichers The Foundation Conferences Chair dave.wichers@owasp.org COO, Aspect Security dave.wichers@aspectsecurity.com Copyright 2007 - The Foundation This work is available

More information

Last update: February 23, 2004

Last update: February 23, 2004 Last update: February 23, 2004 Web Security Glossary The Web Security Glossary is an alphabetical index of terms and terminology relating to web application security. The purpose of the Glossary is to

More information

Application security testing: Protecting your application and data

Application security testing: Protecting your application and data E-Book Application security testing: Protecting your application and data Application security testing is critical in ensuring your data and application is safe from security attack. This ebook offers

More information

Client vs. Server Implementations of Mitigating XSS Security Threats on Web Applications

Client vs. Server Implementations of Mitigating XSS Security Threats on Web Applications Journal of Basic and Applied Engineering Research pp. 50-54 Krishi Sanskriti Publications http://www.krishisanskriti.org/jbaer.html Client vs. Server Implementations of Mitigating XSS Security Threats

More information

Criteria for web application security check. Version 2015.1

Criteria for web application security check. Version 2015.1 Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-

More information

Analysis of Browser Defenses against XSS Attack Vectors

Analysis of Browser Defenses against XSS Attack Vectors Analysis of Browser Defenses against XSS Attack Vectors Shital Dhamal Department of Computer Engineering Lokmanya Tilak College of Engineering Koparkhairne,Navi Mumbai,Maharashtra,India Manisha Mathur

More information

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY www.alliancetechpartners.com WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY More than 70% of all websites have vulnerabilities

More information

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008 Detecting Web Application Vulnerabilities Using Open Source Means OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008 Kostas Papapanagiotou Committee Member OWASP Greek Chapter conpap@owasp.gr

More information

elearning for Secure Application Development

elearning for Secure Application Development elearning for Secure Application Development Curriculum Application Security Awareness Series 1-2 Secure Software Development Series 2-8 Secure Architectures and Threat Modeling Series 9 Application Security

More information

A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith

A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications Slides by Connor Schnaith Cross-Site Request Forgery One-click attack, session riding Recorded since 2001 Fourth out of top 25 most

More information

The Top Web Application Attacks: Are you vulnerable?

The Top Web Application Attacks: Are you vulnerable? QM07 The Top Web Application Attacks: Are you vulnerable? John Burroughs, CISSP Sr Security Architect, Watchfire Solutions jburroughs@uk.ibm.com Agenda Current State of Web Application Security Understanding

More information

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION External Vulnerability Assessment -Technical Summary- Prepared for: ABC ORGANIZATI On March 9, 2008 Prepared by: AOS Security Solutions 1 of 13 Table of Contents Executive Summary... 3 Discovered Security

More information

Cross Site Scripting (XSS) and PHP Security. Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011

Cross Site Scripting (XSS) and PHP Security. Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011 Cross Site Scripting (XSS) and PHP Security Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011 What Is Cross Site Scripting? Injecting Scripts Into Otherwise Benign and Trusted Browser Rendered

More information

What is Web Security? Motivation

What is Web Security? Motivation brucker@inf.ethz.ch http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web

More information

Security features of ZK Framework

Security features of ZK Framework 1 Security features of ZK Framework This document provides a brief overview of security concerns related to JavaScript powered enterprise web application in general and how ZK built-in features secures

More information

Advanced Web Technology 10) XSS, CSRF and SQL Injection 2

Advanced Web Technology 10) XSS, CSRF and SQL Injection 2 Berner Fachhochschule, Technik und Informatik Advanced Web Technology 10) XSS, CSRF and SQL Injection Dr. E. Benoist Fall Semester 2010/2011 Table of Contents Cross Site Request Forgery - CSRF Presentation

More information

Recommended Practice Case Study: Cross-Site Scripting. February 2007

Recommended Practice Case Study: Cross-Site Scripting. February 2007 Recommended Practice Case Study: Cross-Site Scripting February 2007 iii ACKNOWLEDGEMENT This document was developed for the U.S. Department of Homeland Security to provide guidance for control system cyber

More information

ArcGIS Server Security Threats & Best Practices 2014. David Cordes Michael Young

ArcGIS Server Security Threats & Best Practices 2014. David Cordes Michael Young ArcGIS Server Security Threats & Best Practices 2014 David Cordes Michael Young Agenda Introduction Threats Best practice - ArcGIS Server settings - Infrastructure settings - Processes Summary Introduction

More information

National Information Security Group The Top Web Application Hack Attacks. Danny Allan Director, Security Research

National Information Security Group The Top Web Application Hack Attacks. Danny Allan Director, Security Research National Information Security Group The Top Web Application Hack Attacks Danny Allan Director, Security Research 1 Agenda Web Application Security Background What are the Top 10 Web Application Attacks?

More information

Web Application Security Considerations

Web Application Security Considerations Web Application Security Considerations Eric Peele, Kevin Gainey International Field Directors & Technology Conference 2006 May 21 24, 2006 RTI International is a trade name of Research Triangle Institute

More information

The Weakest Link: Mitigating Web Application Vulnerabilities. webscurity White Paper. webscurity Inc. Minneapolis, Minnesota USA

The Weakest Link: Mitigating Web Application Vulnerabilities. webscurity White Paper. webscurity Inc. Minneapolis, Minnesota USA The Weakest Link: Mitigating Web Application Vulnerabilities webscurity White Paper webscurity Inc. Minneapolis, Minnesota USA January 25, 2007 Contents Executive Summary...3 Introduction...4 Target Audience...4

More information

Web-Application Security

Web-Application Security Web-Application Security Kristian Beilke Arbeitsgruppe Sichere Identität Fachbereich Mathematik und Informatik Freie Universität Berlin 29. Juni 2011 Overview Web Applications SQL Injection XSS Bad Practice

More information

Web application security

Web application security Web application security Sebastian Lopienski CERN Computer Security Team openlab and summer lectures 2010 (non-web question) Is this OK? int set_non_root_uid(int uid) { // making sure that uid is not 0

More information

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet March 8, 2012 Stephen Kost Chief Technology Officer Integrigy Corporation Phil Reimann Director of Business Development

More information

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh Web applications Web security: web basics Myrto Arapinis School of Informatics University of Edinburgh HTTP March 19, 2015 Client Server Database (HTML, JavaScript) (PHP) (SQL) 1 / 24 2 / 24 URLs HTTP

More information

HOD of Dept. of CSE & IT. Asst. Prof., Dept. Of CSE AIET, Lko, India. AIET, Lko, India

HOD of Dept. of CSE & IT. Asst. Prof., Dept. Of CSE AIET, Lko, India. AIET, Lko, India Volume 5, Issue 12, December 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Investigation

More information

Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers

Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers The Website can be developed under Windows or Linux Platform. Windows Development should be use: ASP, ASP.NET 1.1/ 2.0, and

More information

Nuclear Regulatory Commission Computer Security Office Computer Security Standard

Nuclear Regulatory Commission Computer Security Office Computer Security Standard Nuclear Regulatory Commission Computer Security Office Computer Security Standard Office Instruction: Office Instruction Title: CSO-STD-1108 Web Application Standard Revision Number: 1.0 Effective Date:

More information

Web Application Security

Web Application Security Web Application Security John Zaharopoulos ITS - Security 10/9/2012 1 Web App Security Trends Web 2.0 Dynamic Webpages Growth of Ajax / Client side Javascript Hardening of OSes Secure by default Auto-patching

More information

Ruby on Rails Secure Coding Recommendations

Ruby on Rails Secure Coding Recommendations Introduction Altius IT s list of Ruby on Rails Secure Coding Recommendations is based upon security best practices. This list may not be complete and Altius IT recommends this list be augmented with additional

More information

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure Vulnerabilities, Weakness and Countermeasures Massimo Cotelli CISSP Secure : Goal of This Talk Security awareness purpose Know the Web Application vulnerabilities Understand the impacts and consequences

More information

Web Application Guidelines

Web Application Guidelines Web Application Guidelines Web applications have become one of the most important topics in the security field. This is for several reasons: It can be simple for anyone to create working code without security

More information

WEB ATTACKS AND COUNTERMEASURES

WEB ATTACKS AND COUNTERMEASURES WEB ATTACKS AND COUNTERMEASURES February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in

More information

Complete Cross-site Scripting Walkthrough

Complete Cross-site Scripting Walkthrough Complete Cross-site Scripting Walkthrough Author : Ahmed Elhady Mohamed Email : ahmed.elhady.mohamed@gmail.com website: www.infosec4all.tk blog : www.1nfosec4all.blogspot.com/ [+] Introduction wikipedia

More information

Check list for web developers

Check list for web developers Check list for web developers Requirement Yes No Remarks 1. Input Validation 1.1) Have you done input validation for all the user inputs using white listing and/or sanitization? 1.2) Does the input validation

More information

Chapter 1 Web Application (In)security 1

Chapter 1 Web Application (In)security 1 Introduction xxiii Chapter 1 Web Application (In)security 1 The Evolution of Web Applications 2 Common Web Application Functions 4 Benefits of Web Applications 5 Web Application Security 6 "This Site Is

More information

Enterprise Application Security Workshop Series

Enterprise Application Security Workshop Series Enterprise Application Security Workshop Series Phone 877-697-2434 fax 877-697-2434 www.thesagegrp.com Defending JAVA Applications (3 Days) In The Sage Group s Defending JAVA Applications workshop, participants

More information

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering How to break in Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering Time Agenda Agenda Item 9:30 10:00 Introduction 10:00 10:45 Web Application Penetration

More information

(WAPT) Web Application Penetration Testing

(WAPT) Web Application Penetration Testing (WAPT) Web Application Penetration Testing Module 0: Introduction 1. Introduction to the course. 2. How to get most out of the course 3. Resources you will need for the course 4. What is WAPT? Module 1:

More information

A Tale of the Weaknesses of Current Client-side XSS Filtering

A Tale of the Weaknesses of Current Client-side XSS Filtering A Tale of the Weaknesses of Current Client-side XSS Filtering Sebastian Lekies (@sebastianlekies), Ben Stock (@kcotsneb) and Martin Johns (@datenkeller) Attention hackers! These slides are preliminary!

More information

Top Ten Web Application Vulnerabilities in J2EE. Vincent Partington and Eelco Klaver Xebia

Top Ten Web Application Vulnerabilities in J2EE. Vincent Partington and Eelco Klaver Xebia Top Ten Web Application Vulnerabilities in J2EE Vincent Partington and Eelco Klaver Xebia Introduction Open Web Application Security Project is an open project aimed at identifying and preventing causes

More information

OWASP Top Ten Tools and Tactics

OWASP Top Ten Tools and Tactics OWASP Top Ten Tools and Tactics Russ McRee Copyright 2012 HolisticInfoSec.org SANSFIRE 2012 10 JULY Welcome Manager, Security Analytics for Microsoft Online Services Security & Compliance Writer (toolsmith),

More information

Detecting and Exploiting XSS with Xenotix XSS Exploit Framework

Detecting and Exploiting XSS with Xenotix XSS Exploit Framework Detecting and Exploiting XSS with Xenotix XSS Exploit Framework ajin25@gmail.com keralacyberforce.in Introduction Cross Site Scripting or XSS vulnerabilities have been reported and exploited since 1990s.

More information

Finding and Preventing Cross- Site Request Forgery. Tom Gallagher Security Test Lead, Microsoft

Finding and Preventing Cross- Site Request Forgery. Tom Gallagher Security Test Lead, Microsoft Finding and Preventing Cross- Site Request Forgery Tom Gallagher Security Test Lead, Microsoft Agenda Quick reminder of how HTML forms work How cross-site request forgery (CSRF) attack works Obstacles

More information

Web Application Worms & Browser Insecurity

Web Application Worms & Browser Insecurity Web Application Worms & Browser Insecurity Mike Shema Welcome Background Hacking Exposed: Web Applications The Anti-Hacker Toolkit Hack Notes: Web Security Currently working at Qualys

More information

Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek (cjjarabe@ucalgary.ca)

Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek (cjjarabe@ucalgary.ca) Bug Report Date: March 19, 2011 Reporter: Chris Jarabek (cjjarabe@ucalgary.ca) Software: Kimai Version: 0.9.1.1205 Website: http://www.kimai.org Description: Kimai is a web based time-tracking application.

More information

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus ASP.NET MVC Secure Coding 4-Day hands on Course Course Syllabus Course description ASP.NET MVC Secure Coding 4-Day hands on Course Secure programming is the best defense against hackers. This multilayered

More information

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group Securing Your Web Application against security vulnerabilities Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group Agenda Security Landscape Vulnerability Analysis Automated Vulnerability

More information

WEB APPLICATION FIREWALLS: DO WE NEED THEM?

WEB APPLICATION FIREWALLS: DO WE NEED THEM? DISTRIBUTING EMERGING TECHNOLOGIES, REGION-WIDE WEB APPLICATION FIREWALLS: DO WE NEED THEM? SHAIKH SURMED Sr. Solutions Engineer info@fvc.com www.fvc.com HAVE YOU BEEN HACKED????? WHAT IS THE PROBLEM?

More information

CMP3002 Advanced Web Technology

CMP3002 Advanced Web Technology CMP3002 Advanced Web Technology Assignment 1: Web Security Audit A web security audit on a proposed eshop website By Adam Wright Table of Contents Table of Contents... 2 Table of Tables... 2 Introduction...

More information

Short notes on webpage programming languages

Short notes on webpage programming languages Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of

More information

Network Security Web Security

Network Security Web Security Network Security Web Security Anna Sperotto, Ramin Sadre Design and Analysis of Communication Systems Group University of Twente, 2012 Cross Site Scripting Cross Side Scripting (XSS) XSS is a case of (HTML)

More information

HTTPParameter Pollution. ChrysostomosDaniel

HTTPParameter Pollution. ChrysostomosDaniel HTTPParameter Pollution ChrysostomosDaniel Introduction Nowadays, many components from web applications are commonly run on the user s computer (such as Javascript), and not just on the application s provider

More information

EVALUATING COMMERCIAL WEB APPLICATION SECURITY. By Aaron Parke

EVALUATING COMMERCIAL WEB APPLICATION SECURITY. By Aaron Parke EVALUATING COMMERCIAL WEB APPLICATION SECURITY By Aaron Parke Outline Project background What and why? Targeted sites Testing process Burp s findings Technical talk My findings and thoughts Questions Project

More information

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com SAINT Integrated Network Vulnerability Scanning and Penetration Testing www.saintcorporation.com Introduction While network vulnerability scanning is an important tool in proactive network security, penetration

More information

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

Web Application Hacking (Penetration Testing) 5-day Hands-On Course Web Application Hacking (Penetration Testing) 5-day Hands-On Course Web Application Hacking (Penetration Testing) 5-day Hands-On Course Course Description Our web sites are under attack on a daily basis

More information

Input Validation Vulnerabilities, Encoded Attack Vectors and Mitigations OWASP. The OWASP Foundation. Marco Morana & Scott Nusbaum

Input Validation Vulnerabilities, Encoded Attack Vectors and Mitigations OWASP. The OWASP Foundation. Marco Morana & Scott Nusbaum Input Validation Vulnerabilities, Encoded Attack Vectors and Mitigations Marco Morana & Scott Nusbaum Cincinnati Chapter September 08 Meeting Copyright 2008 The Foundation Permission is granted to copy,

More information

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications 1. Introduction 2. Web Application 3. Components 4. Common Vulnerabilities 5. Improving security in Web applications 2 What does World Wide Web security mean? Webmasters=> confidence that their site won

More information

Web Application Report

Web Application Report Web Application Report This report includes important security information about your Web Application. Security Report This report was created by IBM Rational AppScan 8.5.0.1 11/14/2012 8:52:13 AM 11/14/2012

More information

Magento Security and Vulnerabilities. Roman Stepanov

Magento Security and Vulnerabilities. Roman Stepanov Magento Security and Vulnerabilities Roman Stepanov http://ice.eltrino.com/ Table of contents Introduction Open Web Application Security Project OWASP TOP 10 List Common issues in Magento A1 Injection

More information

SECURE APPLICATION DEVELOPMENT CODING POLICY OCIO-6013-09 TABLE OF CONTENTS

SECURE APPLICATION DEVELOPMENT CODING POLICY OCIO-6013-09 TABLE OF CONTENTS OFFICE OF THE CHIEF INFORMATION OFFICER OCIO-6013-09 Date of Issuance: May 22, 2009 Effective Date: May 22, 2009 Review Date: TABLE OF CONTENTS Section I. PURPOSE II. AUTHORITY III. SCOPE IV. DEFINITIONS

More information

Software Assurance Tools: Web Application Security Scanner Functional Specification Version 1.0

Software Assurance Tools: Web Application Security Scanner Functional Specification Version 1.0 Special Publication 500-269 Software Assurance Tools: Web Application Security Scanner Functional Specification Version 1.0 Paul E. Black Elizabeth Fong Vadim Okun Romain Gaucher Software Diagnostics and

More information

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP) Title: Functional Category: Information Technology Services Issuing Department: Information Technology Services Code Number: xx.xxx.xx Effective Date: xx/xx/2014 1.0 PURPOSE 1.1 To appropriately manage

More information

Columbia University Web Security Standards and Practices. Objective and Scope

Columbia University Web Security Standards and Practices. Objective and Scope Columbia University Web Security Standards and Practices Objective and Scope Effective Date: January 2011 This Web Security Standards and Practices document establishes a baseline of security related requirements

More information

Table of Contents. Page 2/13

Table of Contents. Page 2/13 Page 1/13 Table of Contents Introduction...3 Top Reasons Firewalls Are Not Enough...3 Extreme Vulnerabilities...3 TD Ameritrade Security Breach...3 OWASP s Top 10 Web Application Security Vulnerabilities

More information

Six Essential Elements of Web Application Security. Cost Effective Strategies for Defending Your Business

Six Essential Elements of Web Application Security. Cost Effective Strategies for Defending Your Business 6 Six Essential Elements of Web Application Security Cost Effective Strategies for Defending Your Business An Introduction to Defending Your Business Against Today s Most Common Cyber Attacks When web

More information

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked. This sample report is published with prior consent of our client in view of the fact that the current release of this web application is three major releases ahead in its life cycle. Issues pointed out

More information

Client Side Filter Enhancement using Web Proxy

Client Side Filter Enhancement using Web Proxy Client Side Filter Enhancement using Web Proxy Santosh Kumar Singh 1, Rahul Shrivastava 2 1 M Tech Scholar, Computer Technology (CSE) RCET, Bhilai (CG) India, 2 Assistant Professor, CSE Department, RCET

More information

OWASP AND APPLICATION SECURITY

OWASP AND APPLICATION SECURITY SECURING THE 3DEXPERIENCE PLATFORM OWASP AND APPLICATION SECURITY Milan Bruchter/Shutterstock.com WHITE PAPER EXECUTIVE SUMMARY As part of Dassault Systèmes efforts to counter threats of hacking, particularly

More information

FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE

FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE Purpose: This procedure identifies what is required to ensure the development of a secure application. Procedure: The five basic areas covered by this document include: Standards for Privacy and Security

More information

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011 Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011 Agenda Evolving Threats Operating System Application User Generated Content JPL s Application Security Program Securing

More information

Security Research Advisory IBM inotes 9 Active Content Filtering Bypass

Security Research Advisory IBM inotes 9 Active Content Filtering Bypass Security Research Advisory IBM inotes 9 Active Content Filtering Bypass Table of Contents SUMMARY 3 VULNERABILITY DETAILS 3 TECHNICAL DETAILS 4 LEGAL NOTICES 7 Active Content Filtering Bypass Advisory

More information

Exploits: XSS, SQLI, Buffer Overflow

Exploits: XSS, SQLI, Buffer Overflow Exploits: XSS, SQLI, Buffer Overflow These vulnerabilities continue to result in many active exploits. XSS Cross Site Scripting, comparable to XSRF, Cross Site Request Forgery. These vulnerabilities are

More information

Rational AppScan & Ounce Products

Rational AppScan & Ounce Products IBM Software Group Rational AppScan & Ounce Products Presenters Tony Sisson and Frank Sassano 2007 IBM Corporation IBM Software Group The Alarming Truth CheckFree warns 5 million customers after hack http://infosecurity.us/?p=5168

More information

PCI-DSS and Application Security Achieving PCI DSS Compliance with Seeker

PCI-DSS and Application Security Achieving PCI DSS Compliance with Seeker PCI-DSS and Application Security Achieving PCI DSS Compliance with Seeker www.quotium.com 1/14 Summary Abstract 3 PCI DSS Statistics 4 PCI DSS Application Security 5 How Seeker Helps You Achieve PCI DSS

More information

Annex B - Content Management System (CMS) Qualifying Procedure

Annex B - Content Management System (CMS) Qualifying Procedure Page 1 DEPARTMENT OF Version: 1.5 Effective: December 18, 2014 Annex B - Content Management System (CMS) Qualifying Procedure This document is an annex to the Government Web Hosting Service (GWHS) Memorandum

More information

Attacks on Clients: Dynamic Content & XSS

Attacks on Clients: Dynamic Content & XSS Software and Web Security 2 Attacks on Clients: Dynamic Content & XSS (Section 7.1.3 on JavaScript; 7.2.4 on Media content; 7.2.6 on XSS) sws2 1 Recap from last lecture Attacks on web server: attacker/client

More information

Sitefinity Security and Best Practices

Sitefinity Security and Best Practices Sitefinity Security and Best Practices Table of Contents Overview The Ten Most Critical Web Application Security Risks Injection Cross-Site-Scripting (XSS) Broken Authentication and Session Management

More information

Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current

More information

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH zgrace@403labs.com January 17, 2014 2014 Mega Conference

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH zgrace@403labs.com January 17, 2014 2014 Mega Conference Cracking the Perimeter via Web Application Hacking Zach Grace, CISSP, CEH zgrace@403labs.com January 17, 2014 2014 Mega Conference About 403 Labs 403 Labs is a full-service information security and compliance

More information

Penetration Test Report

Penetration Test Report Penetration Test Report Acme Test Company ACMEIT System 26 th November 2010 Executive Summary Info-Assure Ltd was engaged by Acme Test Company to perform an IT Health Check (ITHC) on the ACMEIT System

More information

IJMIE Volume 2, Issue 9 ISSN: 2249-0558

IJMIE Volume 2, Issue 9 ISSN: 2249-0558 Survey on Web Application Vulnerabilities Prevention Tools Student, Nilesh Khochare* Student,Satish Chalurkar* Professor, Dr.B.B.Meshram* Abstract There are many commercial software security assurance

More information

Web Application Vulnerability Testing with Nessus

Web Application Vulnerability Testing with Nessus The OWASP Foundation http://www.owasp.org Web Application Vulnerability Testing with Nessus Rïk A. Jones, CISSP rikjones@computer.org Rïk A. Jones Web developer since 1995 (16+ years) Involved with information

More information

Web Application Vulnerabilities and Avoiding Application Exposure

Web Application Vulnerabilities and Avoiding Application Exposure Web Application Vulnerabilities and Avoiding Application Exposure The introduction of BIG-IP Application Security Manager (ASM) version 9.4.2 marks a major step forward. BIG-IP ASM now offers more features

More information

A Survey on Threats and Vulnerabilities of Web Services

A Survey on Threats and Vulnerabilities of Web Services A Survey on Threats and Vulnerabilities of Web Services A Thesis submitted in partial fulfillment of the requirements for the degree of Master of Computer Science and Engineering of Jadavpur University

More information

Strategic Information Security. Attacking and Defending Web Services

Strategic Information Security. Attacking and Defending Web Services Security PS Strategic Information Security. Attacking and Defending Web Services Presented By: David W. Green, CISSP dgreen@securityps.com Introduction About Security PS Application Security Assessments

More information

Hack Proof Your Webapps

Hack Proof Your Webapps Hack Proof Your Webapps About ERM About the speaker Web Application Security Expert Enterprise Risk Management, Inc. Background Web Development and System Administration Florida International University

More information

AMIT KLEIN, FORMER DIRECTOR OF SECURITY AND RESEARCH, SANCTUM

AMIT KLEIN, FORMER DIRECTOR OF SECURITY AND RESEARCH, SANCTUM AMIT KLEIN, FORMER DIRECTOR OF SECURITY AND RESEARCH, SANCTUM A whitepaper from Watchfire TABLE OF CONTENTS Introduction 1 Full Explanation The XSS Technique. 1 Scope and Feasibility.. 3 Variations on

More information

WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6

WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6 WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL Ensuring Compliance for PCI DSS 6.5 and 6.6 CONTENTS 04 04 06 08 11 12 13 Overview Payment Card Industry Data Security Standard PCI Compliance for Web Applications

More information

A Tale of the Weaknesses of Current Client-Side XSS Filtering

A Tale of the Weaknesses of Current Client-Side XSS Filtering Call To Arms: A Tale of the Weaknesses of Current Client-Side XSS Filtering Martin Johns, Ben Stock, Sebastian Lekies About us Martin Johns, Ben Stock, Sebastian Lekies Security Researchers at SAP, Uni

More information