Hacking Browser's DOM - Exploiting Ajax and RIA
|
|
|
- Aubrey Nash
- 10 years ago
- Views:
Transcription
1 Hacking Browser's DOM - Exploiting Ajax and RIA Abstract Web 2.0 applications today make extensive use of dynamic Document Object Model (DOM) manipulations for rendering JSON or XML streams in browsers. These DOM calls along with XMLHttpRequest (XHR) objects are part of the client side logic, either written in JavaScript or in other client side technologies of the likes of Flash or Silverlight. In this scenario, DOM driven Cross Site Scripting (XSS) is a sleeping giant in many application codes and this can be exploited by an attacker to gain access to the end user s browser/desktop. This in turn can become the root cause for another set of interesting vulnerabilities such as Cross Widget Sniffing, RSS Feed reader Exploitation, XHR Response Stealing, Mashup Hacking, Malicious Code Injection, Worm Spreading et cetera. These vulnerabilities need an innovative way of scanning the application and the corresponding standardized methodology needs to be tweaked to suit these. We have seen DOM driven XSS exploited in various different popular portals to spread worms or virus. This is a significant threat that is rising on the horizon but could be mitigated by validating un-trusted content that can potentially poison AJAX or Flash routines. DOM driven XSS, Cross Domain Bypass and Cross Site Request Forgery (CSRF) can together form a deadly cocktail to exploit Web 2.0 applications all over the Internet. In view of all this, this paper is designed to cover the following important issues and concepts: Web 2.0 Architecture and DOM manipulation points JavaScript exploits by leveraging DOM Cross Domain Bypass and Hacks DOM hacking for controlling Widgets and Mashups Exploiting Ajax routines to gain feed readers Scanning and detecting DOM driven XSS in Web 2.0 Tools for scanning the DOM calls Mitigation strategies for a better security posture The author is going to present this paper along with demos at the Blackhat USA Author: Shreeraj Shah (Founder and Director, Blueinfy Solutions) Credit for Tools development - Nrupin Sukhadia (Developer, Blueinfy Solutions) and Rishita Anubhai (Web Security Researcher, Blueinfy Solutions) 1 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
2 Understanding the Web 2.0 Architecture and Stream Structures Web 2.0 applications run in a widely distributed environment. These applications have an integrated boundary structure but are complex in nature with many dependencies on fellow applications. This allows an attacker to easily discover and exploit architectural holes on the application layer. The structure, as shown in figure 1, draws attention to how the application runs with a very thin layer of its own components. Figure 1 Web 2.0/RIA Architecture As shown by the architecture above, Web 2.0 applications are more like applications of applications i.e. they are networked with other applications and sources of information. In this case, the target application may allow data to come from other sources of information such as mails, news, documents, weather, banks etc. The application itself may have its own little database and authentication module but other than that most of the data tends to come from outside the application boundary. At the same time, on the browser stack, critical components like Ajax, Flash and Silverlight get leveraged. Interestingly in such a scenario, it is possible to set up a callback mechanism on a cross domain, directly from the browser where the application is not involved in streaming data, but running on its own domain (DOM context) The above architecture consumes various data streams not being restricted to any one stream in particular like the name-value pair ( Both, the 2 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
3 application and the browser can send information across in various structures like JSON, XML, JS-Object, JS-Array etc. (as shown in figure 2) Figure 2 Different structures for information exchange Moreover, the protocols involved in transferring some of these structures could be different although majority of the transfers are over HTTP(S). Some of these protocols are like SOAP, XML-RPC or REST. Hence the complex architecture, porous boundary conditions, involvement of different stream structures, confusing protocols and the vulnerable implementation of client side components can allow attackers to exploit such applications comparatively with more ease. As the application security dynamics continue to change over the years, on parallel fronts we see some newer and lethal client side attacks surfacing as well. Figure 3 shows the changing OWASP Top 10 Scenario. 3 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
4 Figure 3 OWASP Top 10 over years and changes To name a few noteworthy ones in this context, we have client side attacks involved with Cross Site Scripting, Broken authentication and authorization (client side bypass), CSRF, Unvalidated Redirects and Forwards as well as some minor ones in other sections. Extensive usage of DOM in Web 2.0 applications The Document Object Model (DOM) of a browser is becoming a critical part of these next generation Web 2.0 applications. DOM is used by developers and third party libraries extensively. One of the most significant features of the Web 2.0 applications is minimal amount of reload and refresh. As a result, these applications leverage DOM and Web APIs associated with it to update the pre-loaded DOM. Again, DOM is usually loaded only once when the browser loads the HTML page and thereafter during the rest of the communication with the application DOM remains in-memory. Hence, all the new information needs to be injected into the pre-loaded DOM. To achieve this objective, dynamic DOM manipulation is needed which is accomplished by the use of calls like eval() and other calls of the likes of eval(). For example, function getprofile() { var http; if(window.xmlhttprequest){ http = new XMLHttpRequest(); else if (window.activexobject){ http=new ActiveXObject("Msxml2.XMLHTTP"); if (! http){ http=new ActiveXObject("Microsoft.XMLHTTP"); 4 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
5 http.open("get", "./profile/", true); http.onreadystatechange = function() { if (http.readystate == 4) { response = http.responsetext; document.getelementbyid('main').innerhtml = response; http.send(null); In the above function, an XHR call is made from the pre-loaded DOM and then the new content is changed by innerhtml call. There are various ways to inject new content into the DOM. Another way of rewriting the DOM is shown in the following snippet: if (http.readystate == 4) { var response = http.responsetext; var p = eval("(" + response + ")"); document.open(); document.write(p.firstname+"<br>"); document.write(p.lastname+"<br>"); document.write(p.phonenumbers[0]); document.close(); In this case, new content is injected using eval and document.write calls to the DOM. It is easy to see that there are a large set of DOM calls on these lines that can be utilized by client side scripts. Here is a small list of it: document.write( ) document.writeln( ) document.body.innerhtml= document.forms[0].action= document.attachevent( ) document.create ( ) document.execcommand( ) document.body. window.attachevent( ) document.location= document.location.hostname= document.location.replace( ) document.location.assign( ) 5 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
6 document.url= window.navigate( ) document.open( ) window.open( ) window.location.href= eval( ) window.execscript( ) window.setinterval( ) window.settimeout( ) One can look at the script utilized by Web 2.0 applications and figure out these calls. It is important how these calls are implemented and what information they consume. These calls form an integral part of the attack surface as they end up providing entry points to many attackers. On similar lines, DOM can be used by RIA written in Flash or Silverlight as well. It is possible to allow a flash file to access HTML tags and processes at runtime. There are various different ways of doing this. For example, Setting access to HTML content and DOM from flash _root.htmltext = true; Accessing the parameter and then further passing it on to the function geturl geturl(_root.input); One can use the HTMLLoader to get access of HTML context from Flash and manipulate the DOM subsequently. Similarly with Silverlight, one can access the HTML DOM by the following object: HtmlDocument doc = HtmlPage.Document; Looking at these implementations one can gauge the severity of the issue from the security perspective. If Web 2.0 or RIA calls are not implemented securely, they lead to entry points for DOM injections and remote script executions. There is ample opportunity for misuse in these cases. DOM based XSS a sleeping giant is still a giant DOM based XSS is very common with Web 2.0 applications and it cannot be determined by scanning or sending just a few requests to the application. It calls for a deeper inspection of the source and the other information sources to conclude the existence of this one and some other similar vulnerabilities. 6 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
7 For example, here is a scenario: Figure 4 DOM based XSS In this scenario the client is fetching a third party stream coming in, say JSON, and eval-ing the call without validating the content. An attacker could post the malicious code on a third party site, say a blog or news website. This site would convert the stream into JSON and whenever someone was to ask for it, the stream would be provided via an API. So now, when the target application asks for it, the code tunnels to the victim s browser and the routine eval s it. As soon as an eval call is executed, it allows malicious code to run in the browser s current context and causes an XSS! This one presented above is just one scenario and there are many other cases of a similar nature where DOM manipulating routines can be vulnerable to XSS. Here is another simple scenario. In the function below, a client side routine takes a parameter coming from the URL and processes it. function queryst(ji) { hu = window.location.search.substring(1); gy = hu.split("&"); for (i=0;i<gy.length;i++) { ft = gy[i].split("="); if (ft[0] == ji) { 7 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
8 return ft[1].tostring(); Now, this is called with the parameter pid and the result passed to the eval call subsequently. var koko = queryst("pid"); if(koko!= null) { eval('getproduct('+ koko.tostring()+')'); Now what if someone has framed the URL used in the above process as shown below: This will execute the alert statement and cause XSS. It is completely possible to pass any script to the browser in this manner and the browser will execute it ignorant of the danger this loophole poses. This is hence a clear case of passing raw script to the function. We will look at variants of such a case in subsequent sections. Cross Domain bypass and Security Issues Browser security model and XHR calls will not allow bypassing SOP (Same Origin Policy). Hence, it is not possible to make an XHR call to xyz.com, by being on abc.com. Applications are designed in such a way that they need to make these type of calls and bypass at some points. Therefore, developers either put a proxy on the application or, if possible, leverage callback mechanism. For example, as shown in figure 4, the client side may use a proxy component as follows: 8 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
9 Figure 5 Cross Domain Call from Proxy Hence, when the client makes a request for cross domain content it goes via the proxy and gets the stream as shown in figure 6 (JSON) Figure 6 Stream coming via proxy.aspx 9 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
10 Another way to bypass the cross domain call is by directly pushing content to the JavaScript function by wrapping the right callback function name. For example, Figure 7 Callback function for profile As shown in figure 7, we have a profilecallback function that gets called as soon as we get the results back. Script tag is where the target URL has been mentioned. Hence, it will make the cross domain call and thereafter the incoming JSON or any other JS stream will automatically kick the function. In future with the emergence of DOM 2, XHR level 2 and other HTML 5 tags other types of bypass may also be allowed. In this manner, the methods demonstrated above can be leveraged to perform cross domain XSS as well as to establish hidden one way channels as and when required. Stealing DOM s key variables Ajax applications use a single DOM throughout the life cycle of the application. At the start of the life cycle of an application, the DOM gets loaded and thereafter the DOM values get injected dynamically by the use of various different streams. Specifically, this dynamic DOM manipulation is caused to occur with the use of eval or document.* calls. It is evident that the use of JavaScript is extensive and consequently such dynamic DOM manipulations allow accessing poorly written JavaScript variables which in turn may involve some key values. For example, the following is a simple authentication routine that accepts username and password from the browser and sends it to the server using an XHR object. 10 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
11 function getlogin() { gb = gb+1; var user = document.frmlogin.txtuser.value; var pwd = document.frmlogin.txtpwd.value; var xmlhttp=false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); catch (E) { xmlhttp = false; if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); temp = "login.do?user="+user+"&pwd="+pwd; xmlhttp.open("get",temp,true); xmlhttp.onreadystatechange=function() { if(xmlhttp.readystate == 4 && xmlhttp.status == 200) { document.getelementbyid("main").innerhtml = xmlhttp.responsetext; xmlhttp.send(null); In the above function, two important lines to be noted are: temp = "login.do?user="+user+"&pwd="+pwd; xmlhttp.open("get",temp,true); The loophole here is that the temp function has been created just by using temp without preceding it with a keyword to limit its scope and lifetime, hence making its scope global. As a result of this, after calling this function temp will remain live throughout the application. Hence, an attacker can steal this temp variable via XSS and steal the username and password 11 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
12 bringing it all down to DOM based XSS. This is a clear way of stealing variables from the current DOM context. Attacking a Widget s DOM Web 2.0 applications use the DOM itself for manipulating or injecting new content and modifying the existing DOM. For example, the following is an example of a simple function which reads RSS feed and injects it into the DOM. In this case, there is no validation in place and it is possible to inject a link into the DOM without much effort. The gravity of this possibility as a loophole can be gauged if we think of a case where we may inject a code snippet of the likes of javascript:alert(document.cookie) over here! function processrss (divname, response) { var html = ""; var doc = response.documentelement; var items = doc.getelementsbytagname('item'); for (var i=0; i < items.length; i++) { var title = items[i].getelementsbytagname('title')[0]; var link = items[i].getelementsbytagname('link')[0]; html += "<a style='text-decoration:none' class='style2' href='" + link.firstchild.data + "'>" + title.firstchild.data + "</a><br><br>"; var target = document.getelementbyid(divname); target.innerhtml = html; This widget would go out and grab the RSS feed thereafter passing it to this routine. It will then lead to a DOM based XSS, after which the script will get executed on the browser. It is possible to attack widgets using this type of a vector. Cross Widget Access from the DOM In many applications one can inject a Widget or Gadget. This apparently small HTML code, along with JavaScript, runs on the DOM and allows several operations to be performed. In some cases these Widgets share the same DOM or even a part of the DOM. This allows one Widget to access the important tags and variables of another Widget. In these cases, an attacker can force a malicious widget onto the DOM and monitor other widgets via this one. For example, assume there is a Widget which accepts username and password from the user. Below is another simple Widget that can set up a trap on the former. 12 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
13 Figure 8 Setting a trap Hence the malicious widget is listening to a mouse event and as soon as username and password entries are done it can force the GetU and GetP function calls to execute. These functions would go ahead to steal the content and send it across the network where the attacker may be listening in anticipation. It is now evident how it is important to analyze the DOM architecture and usage when it comes to Widget platforms. Other DOM based attacks with Web 2.0 Applications We have seen some instances of DOM hacking so far and there exist yet more ways in which the DOM can be hacked and attacked, if JavaScript coding and usage is not done with due anticipation of the attackers. In due light of this, few more examples which we intend to cover during our presentations would be: DOM hacking with Mashups Mashup applications use API and Open calls to fetch information from un-trusted sources and bundle them on the target domain application. This content is not verified or validated in many cases. An attacker may well be able to pass on a malicious stream to these Mashup applications and they in turn can pollute the DOM accordingly. Essentially, the stream gets injected in vulnerable calls and allows executing malicious script on the client end. For example, it may be aimed to pollute a profile residing on your site and inject values which get executed on a third party mashup. DOM side logic hacking This is another interesting area in Web 2.0 applications. Web 2.0 applications use large amounts of client side logic and some of the business level logic tends to get shifted to the client side. This allows the attacker to dissect calls and understand the core logic behind the process, identify access controls, encryption logic, secret flags etc. All this logic being embedded in the client side DOM and in its stack of variables makes it easy to access and manipulate unauthorized content. For example, 13 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
14 accessing another user s banking information by analyzing client side call and injecting different values in the DOM. CSRF with XML, SOAP, JSON or AMF streams It is also possible to inject dummy HTML forms which may force cross domain XML or SOAP requests from the browsers. This can cause Cross Site Request Forgery on poorly designed forms. Cross Technology Access Browsers may run two different technology stacks and it allows one technology to access another one. For example, consider Flash and Ajax running on the same DOM. It is possible to access Flash or Silverlight variables from the DOM through JavaScript if the application is designed in a way permitting loopholes. It allows Cross Technology Access and can cause a security breach. An instance of this is the case of retrieving username and password variables from a Flash file via JavaScript through XSS. DOM scanning and vulnerability detection Detecting this set of aforementioned vulnerabilities would be difficult with simple blackbox testing i.e. it is not possible to merely try fuzzing and send request A, expecting a specific response B if a vulnerability exists. It needs static code analysis and some debugging tricks while the execution of the script is going on. Here are a few techniques to perform scanning: One can perform DOM scanning and look for various calls which are relevant and those that are using XHR. All the streams which are injected in the DOM should be analyzed and their impact needs to be thoroughly looked into. If the stream is seen to use calls like eval or document.write then one can exploit them. JavaScript scanning and static analysis is required to identify these vulnerabilities. (Appendix A DOMScan) Another method is to employ debugging for JavaScript at run-time and analyze the flow of execution amongst all the components under a browser s DOM umbrella. There are powerful debuggers like Firebug or IE8 s debugger tool that can be used for this purpose. Using a deobfuscator or a JavaScript tracer one can deploy a technique to deobfuscate the script and look for all statements which are being executed while various events are being fired. This exposed execution surface of the call then helps in identifying possible loopholes or weaknesses. (Appendix A DOMTracer) Conclusion It is imperative to analyze DOM management of the application with browser context. Poorly written applications can be attacked and hacked via DOM manipulation calls. There are new techniques, methodologies and tools required for this analysis. Just depending on automated tool will not solve the problem. We have already witnessed several DOM based attacks and exploits. 14 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
15 Appendix 1 Tools and Concepts DOMScan DOMScan is utility to drive IE and capture real time DOM from the browser. It gives access to active DOM context along with JavaScripts. One can observe the DOM in detail using this utility. It has predefined rules to scan DOM. One can run the scan on existing DOM and fetch interesting entry points and calls. It allows tracing through JavaScript variables as well. Using this utility one can identify following vulnerabilities. DOM based XSS DOM based vulnerable calls Source of abuse and external content loading methods Possible DOM logic and business layer calls Same Origin Bypass calls and usage Mashup usage inside DOM Widget Architecture review using the tool Here is a simple screenshot for the tool 15 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
16 DOMTracer The DOM as seen in all the aforementioned cases needs to be analyzed in many aspects. Runtime analysis of the DOM is vital and aids one to look at the calls made during the dynamic DOM manipulation that was discussed above. The DOMTracer is a Firefox Extension for this same purpose. It has been written using the standard method of writing extensions using the XUL platform and the JavaScript language in majority. Synoptically, there are two layers the Underlying XUL Runner layer and The Chrome layer on top of it. The chrome layer is the layer where majorly there are two kinds of files, namely the.xul and the.js. The.xul files are xml files specifying the outlook of the extension in terms of overlays that are to be layered over the browser. The.js files primarily must contain the functions that are called by the xul file and these functions handle events of the extension. The link between this chrome layer and the lower layer is what is popularly known as the XPCOM interface which provides hooks to the underlying services implemented in the lower layer. With this in mind, DOMTracer is an extension which utilizes the Debugger Service via XPCOM: const debug = Cc["@mozilla.org/js/jsd/debugger-service;1"].getService(Ci.jsdIDebuggerService); After the above code, debug has been used for its attributes, properties and methods by DOMTracer. The brief documentation of APIs can be referenced from: where the last component can be replaced for other interfaces as per needed. These services, via XPCOM, provide means to override existing methods and handle various events such as the creation of a Script, destruction of a script, calls of various functions, et cetera. Moreover, additional facilities to guide the debugger such as switching it on or off and also changing the flags affected by the debugger are also present under this interface. DOMTracer uses this concept at the core and handles various events which show the calls made at runtime in the extension window. The code could also be altered in some cases to show the scripts as alerts if the demand is: to be able to have the browser paused at each function call and wait for the analyzer s intervention before the next call is traced: 16 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
17 17 Hacking Browser s DOM Blackhat 2010 Shreeraj Shah - Blueinfy
Exploiting Web 2.0 Next Generation Vulnerabilities
Exploiting Web 2.0 Next Generation Vulnerabilities OWASP EU09 Poland Shreeraj Shah Chapter Lead Founder & Director Blueinfy Solutions [email protected] Copyright The OWASP Foundation Permission is
Hacking Web 2.0 Streams Cross Domain Injection and Exploits
Hacking Web 2.0 Streams Cross Domain Injection and Exploits Meeting (Sep-15-2009) in Brussels Shreeraj Shah Founder & Director, Blueinfy [email protected] 91+987-902-7018 Copyright The Foundation Permission
HTML5 Top 10 Threats - Stealth Attacks and Silent Exploits
HTML5 Top 10 Threats - Stealth Attacks and Silent Exploits By Shreeraj Shah, Founder & Director, Blueinfy Solutions Abstract HTML5 is an emerging stack for next generation applications. HTML5 is enhancing
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-
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
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
Adobe Systems Incorporated
Adobe Connect 9.2 Page 1 of 8 Adobe Systems Incorporated Adobe Connect 9.2 Hosted Solution June 20 th 2014 Adobe Connect 9.2 Page 2 of 8 Table of Contents Engagement Overview... 3 About Connect 9.2...
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 [email protected] Agenda Current State of Web Application Security Understanding
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
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
Cross-Site Scripting
Cross-Site Scripting (XSS) Computer and Network Security Seminar Fabrice Bodmer ([email protected]) UNIFR - Winter Semester 2006-2007 XSS: Table of contents What is Cross-Site Scripting (XSS)? Some
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 [email protected]
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
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
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 [email protected] COO, Aspect Security [email protected] Copyright 2007 - The Foundation This work is available
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains
Revisiting SQL Injection Will we ever get it right? Michael Sutton, Security Evangelist
Revisiting SQL Injection Will we ever get it right? Michael Sutton, Security Evangelist Overview Background What it is? How are we doing? Web 2.0 SQL injection meets AJAX Fuggle SQL Injection meets Google
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
ETHICAL HACKING 010101010101APPLICATIO 00100101010WIRELESS110 00NETWORK1100011000 101001010101011APPLICATION0 1100011010MOBILE0001010 10101MOBILE0001
001011 1100010110 0010110001 010110001 0110001011000 011000101100 010101010101APPLICATIO 0 010WIRELESS110001 10100MOBILE00010100111010 0010NETW110001100001 10101APPLICATION00010 00100101010WIRELESS110
(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:
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
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
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
Detecting and Exploiting XSS with Xenotix XSS Exploit Framework
Detecting and Exploiting XSS with Xenotix XSS Exploit Framework [email protected] keralacyberforce.in Introduction Cross Site Scripting or XSS vulnerabilities have been reported and exploited since 1990s.
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
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
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
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
Testing the OWASP Top 10 Security Issues
Testing the OWASP Top 10 Security Issues Andy Tinkham & Zach Bergman, Magenic Technologies Contact Us 1600 Utica Avenue South, Suite 800 St. Louis Park, MN 55416 1 (877)-277-1044 [email protected] Who Are
Web application testing
CL-WTS Web application testing Classroom 2 days Testing plays a very important role in ensuring security and robustness of web applications. Various approaches from high level auditing through penetration
The Trivial Cisco IP Phones Compromise
Security analysis of the implications of deploying Cisco Systems SIP-based IP Phones model 7960 Ofir Arkin Founder The Sys-Security Group [email protected] http://www.sys-security.com September 2002
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
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
OWASP TOP 10 ILIA ALSHANETSKY @ILIAA HTTPS://JOIND.IN/15741
OWASP TOP 10 ILIA ALSHANETSKY @ILIAA HTTPS://JOIND.IN/15741 ME, MYSELF & I PHP Core Developer Author of Guide to PHP Security Security Aficionado THE CONUNDRUM USABILITY SECURITY YOU CAN HAVE ONE ;-) OPEN
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
Gateway Apps - Security Summary SECURITY SUMMARY
Gateway Apps - Security Summary SECURITY SUMMARY 27/02/2015 Document Status Title Harmony Security summary Author(s) Yabing Li Version V1.0 Status draft Change Record Date Author Version Change reference
Blackbox Reversing of XSS Filters
Blackbox Reversing of XSS Filters Alexander Sotirov [email protected] Introduction Web applications are the future Reversing web apps blackbox reversing very different environment and tools Cross-site scripting
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
Sandy. The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis. Garage4Hackers
Sandy The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis About Me! I work as a Researcher for a Global Threat Research firm.! Spoke at the few security
Application Layer Encryption: Protecting against Application Logic and Session Theft Attacks. Whitepaper
Application Layer Encryption: Protecting against Application Logic and Session Theft Attacks Whitepaper The security industry has extensively focused on protecting against malicious injection attacks like
Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek ([email protected])
Bug Report Date: March 19, 2011 Reporter: Chris Jarabek ([email protected]) Software: Kimai Version: 0.9.1.1205 Website: http://www.kimai.org Description: Kimai is a web based time-tracking application.
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
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
APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK
APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK John T Lounsbury Vice President Professional Services, Asia Pacific INTEGRALIS Session ID: MBS-W01 Session Classification: Advanced
Security Testing with Selenium
with Selenium Vidar Kongsli Montréal, October 25th, 2007 Versjon 1.0 Page 1 whois 127.0.0.1? Vidar Kongsli System architect & developer Head of security group Bekk Consulting Technology and Management
Security Model for the Client-Side Web Application Environments
Security Model for the Client-Side Web Application Environments May 24, 2007 Sachiko Yoshihama, Naohiko Uramoto, Satoshi Makino, Ai Ishida, Shinya Kawanaka, and Frederik De Keukelaere IBM Tokyo Research
State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell
Stanford Computer Security Lab State of The Art: Automated Black Box Web Application Vulnerability Testing, Elie Bursztein, Divij Gupta, John Mitchell Background Web Application Vulnerability Protection
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
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
Banking Security using Honeypot
Banking Security using Honeypot Sandeep Chaware D.J.Sanghvi College of Engineering, Mumbai [email protected] Abstract New threats are constantly emerging to the security of organization s information
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),
WEB 2.0 AND SECURITY
WEB 2.0 AND SECURITY 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 part without
Bank Hacking Live! Ofer Maor CTO, Hacktics Ltd. ATC-4, 12 Jun 2006, 4:30PM
Bank Hacking Live! Ofer Maor CTO, Hacktics Ltd. ATC-4, 12 Jun 2006, 4:30PM Agenda Introduction to Application Hacking Demonstration of Attack Tool Common Web Application Attacks Live Bank Hacking Demonstration
Barracuda Web Application Firewall vs. Intrusion Prevention Systems (IPS) Whitepaper
Barracuda Web Application Firewall vs. Intrusion Prevention Systems (IPS) Whitepaper Securing Web Applications As hackers moved from attacking the network to attacking the deployed applications, a category
Webapps Vulnerability Report
Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during
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
What is Web Security? Motivation
[email protected] 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
Web Application Security
Web Application Security A Beginner's Guide Bryan Sullivan Vincent Liu Mc r New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney Toronto Contents
Reducing Application Vulnerabilities by Security Engineering
Reducing Application Vulnerabilities by Security Engineering - Subash Newton Manager Projects (Non Functional Testing, PT CoE Group) 2008, Cognizant Technology Solutions. All Rights Reserved. The information
Web Security Testing Cookbook*
Web Security Testing Cookbook* Systematic Techniques to Find Problems Fast Paco Hope and Ben Walther O'REILLY' Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Foreword Preface xiii xv
Integrating Security Testing into Quality Control
Integrating Security Testing into Quality Control Executive Summary At a time when 82% of all application vulnerabilities are found in web applications 1, CIOs are looking for traditional and non-traditional
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
Strategic Information Security. Attacking and Defending Web Services
Security PS Strategic Information Security. Attacking and Defending Web Services Presented By: David W. Green, CISSP [email protected] Introduction About Security PS Application Security Assessments
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
Web App Security Audit Services
locuz.com Professional Services Web App Security Audit Services The unsecured world today Today, over 80% of attacks against a company s network come at the Application Layer not the Network or System
Essential IT Security Testing
Essential IT Security Testing Application Security Testing for System Testers By Andrew Muller Director of Ionize Who is this guy? IT Security consultant to the stars Member of OWASP Member of IT-012-04
Thomas Röthlisberger IT Security Analyst [email protected]
Thomas Röthlisberger IT Security Analyst [email protected] Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch What
Integration the Web 2.0 way. Florian Daniel ([email protected]) April 28, 2009
Web Mashups Integration the Web 2.0 way Florian Daniel ([email protected]) April 28, 2009 What are we talking about? Mashup possible defintions...a mashup is a web application that combines data from
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
Cross Site Scripting in Joomla Acajoom Component
Whitepaper Cross Site Scripting in Joomla Acajoom Component Vandan Joshi December 2011 TABLE OF CONTENTS Abstract... 3 Introduction... 3 A Likely Scenario... 5 The Exploit... 9 The Impact... 12 Recommended
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
Web Application Penetration Testing
Web Application Penetration Testing 2010 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Will Bechtel [email protected]
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
Hack-proof Your Drupal App. Key Habits of Secure Drupal Coding
Hack-proof Your Drupal App Key Habits of Secure Drupal Coding DrupalCamp CT 2010 My Modules Introductions Erich Beyrent http://twitter.com/ebeyrent http://drupal.org/user/23897 Permissions API Search Lucene
Web Application Security
E-SPIN PROFESSIONAL BOOK Vulnerability Management Web Application Security ALL THE PRACTICAL KNOW HOW AND HOW TO RELATED TO THE SUBJECT MATTERS. COMBATING THE WEB VULNERABILITY THREAT Editor s Summary
Ethical Hacking as a Professional Penetration Testing Technique
Ethical Hacking as a Professional Penetration Testing Technique Rochester ISSA Chapter Rochester OWASP Chapter - Durkee Consulting, Inc. [email protected] 2 Background Founder of Durkee Consulting since 1996
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
Application Security Testing. Erez Metula (CISSP), Founder Application Security Expert [email protected]
Application Security Testing Erez Metula (CISSP), Founder Application Security Expert [email protected] Agenda The most common security vulnerabilities you should test for Understanding the problems
Load Testing RIA using WebLOAD. Amir Shoval, VP Product Management [email protected]
Load Testing RIA using WebLOAD Amir Shoval, VP Product Management [email protected] Agenda Introduction to performance testing Introduction to WebLOAD Load testing Rich Internet Applications 2 Introduction
DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES
DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES TABLE OF CONTENTS 1 Bypassing The Restrictions 3 2 Putting It into Practice 5 3 Actual Load 7 4 Detection Of The Application Version 5 Guessing A/The
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
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
Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified
Standard: Data Security Standard (DSS) Requirement: 6.6 Date: February 2008 Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified Release date: 2008-04-15 General PCI
SESSION IDENTIFIER ARE FOR NOW, PASSWORDS ARE FOREVER
SESSION IDENTIFIER ARE FOR NOW, PASSWORDS ARE FOREVER XSS-BASED ABUSE OF BROWSER PASSWORD MANAGERS Ben Stock, Martin Johns, Sebastian Lekies Browser choices Full disclosure: Ben was an intern with Microsoft
Are AJAX Applications Vulnerable to Hack Attacks?
Are AJAX Applications Vulnerable to Hack Attacks? The importance of Securing AJAX Web Applications This paper reviews AJAX technologies with specific reference to JavaScript and briefly documents the kinds
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
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
Getting Started with WPM
NEUSTAR USER GUIDE Getting Started with WPM Neustar Web Performance is the cloud-based platform offering real-time data and analysis, helping to remove user barriers and optimize your site. Contents Getting
Detecting and Defending Against Security Vulnerabilities for Web 2.0 Applications
Detecting and Defending Against Security Vulnerabilities for Web 2.0 Applications Ray Lai, Intuit TS-5358 Share experience how to detect and defend security vulnerabilities in Web 2.0 applications using
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?
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
An Insight into Cookie Security
An Insight into Cookie Security Today most websites and web based applications use cookies. Cookies are primarily used by the web server to track an authenticated user or other user specific details. This
Real World Web Service Testing For Web Hackers
Real World Web Service Testing For Web Hackers TOM ESTON» Senior Security Consultant SecureState» Web Application / Network Penetration Tester» Founder of SocialMediaSecurity.com» Previous Security Research
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
Secure Coding. External App Integrations. Tim Bach Product Security Engineer salesforce.com. Astha Singhal Product Security Engineer salesforce.
Secure Coding External App Integrations Astha Singhal Product Security Engineer salesforce.com Tim Bach Product Security Engineer salesforce.com Safe Harbor Safe harbor statement under the Private Securities
How To Fix A Web Application Security Vulnerability
Proposal of Improving Web Application Security in Context of Latest Hacking Trends RADEK VALA, ROMAN JASEK Department of Informatics and Artificial Intelligence Tomas Bata University in Zlin, Faculty of
Application Code Development Standards
Application Code Development Standards Overview This document is intended to provide guidance to campus system owners and software developers regarding secure software engineering practices. These standards
Introduction:... 1 Security in SDLC:... 2 Penetration Testing Methodology: Case Study... 3
Table of Contents Introduction:... 1 Security in SDLC:... 2 Penetration Testing Methodology: Case Study... 3 Information Gathering... 3 Vulnerability Testing... 7 OWASP TOP 10 Vulnerabilities:... 8 Injection
