Approaches to detect SQL injection and XSS in web applications
|
|
|
- Arthur Foster
- 10 years ago
- Views:
Transcription
1 Approaches to detect SQL injection and XSS in web applications Abhishek Kumar Baranwal Masters of Software Systems University of British Columbia 657, 57 th Avenue East Vancouver, Canada ABSTRACT We are increasingly relying on web, and accessing important information as well as transmitting data through it. At the same time, quantity and impact of security vulnerabilities in such applications has grown as well. Billions of transactions are performed online with the help of various kinds of web applications. Almost in all of them user is authenticated before providing access to backend database for storing all the information. In this whole scenario a well-designed injection can provide access to malicious or unauthorized users and mostly achieved through SQL injection and Crosssite scripting (XSS). In this paper we are going to provide a detailed survey of various kinds of SQL injection, XSS attacks and approaches to detect and prevent them. Furthermore we are also going to provide a comparative analysis of different approaches against these attacks. And then we are also going to present our findings and note down future expectations and expected development of counter measures against these attacks. Keywords SQL injection attacks; Prevention; Detection; Cross-site scripting (XSS); XSS attacks; Techniques; Evaluation; Web applications; Fault injection; 1. INTRODUCTION In recent years the development of internet had huge impact on commerce and culture. As each coin has two sides; The World Wide Web has both pros and cons. On one hand where the Web can dramatically lower costs to organizations for distributing information, products, and services on the other computers that make up the Web are vulnerable. Security was, still is, and always will be one of the major concerns that critical systems have, especially when deployed in the World Wide Web, accessible through a web browser. Most security concerns are now related with application level. Today almost everyone in touch of computer is connected online and to serve millions of users huge amount of data is stored in databases connected to some web application all across the globe. These users keep on inserting, querying and updating data in these databases. For all these operations to occur successfully a well-designed user interface is very important. Furthermore, these applications play a vital role in maintaining security of data stored in these databases. Web applications which are not very secured allow well-designed injection to perform unwanted operations on backend database. An unauthorized user may be able to exploit this situation by damaging or with theft of trusted users sensitive data stored here. The maximum damage is caused when an attacker gains full control over a database or web application as there is a chance of system being fully destroyed. The sensitive data on one s system could be transferred to any third party by injecting a class of vulnerability in trusted sites dynamically generated pages. This third party could be an attacker s server. This mechanism could also be used in avoiding cookie protection mechanism or same-origin-policy. SQL injection and XSS are two major kinds of attack which has been used frequently to serve this purpose. SQL Injection is a method of injecting SQL meta-characters or commands inside Web-based input fields so that execution of the backend SQL queries can be manipulated. Web servers belonging to an organization is primary target of these kinds of attack. XSS attack comes into play by embedding script tags in URLs and attracting unsuspecting or trusted users to click on them. It is being ensured that the malicious Script is executed on the victim's local machine. These attacks take the benefit of trust existing between the user and the server. They also take advantage of absence of input/output validation on the server to reject malicious JavaScript characters [59]. XSS usually affects victim s web browser on the client-side where as SQL injection related web vulnerability is involved with server side. These vulnerabilities could be exploited by SQL injection or XSS to gain control over the online web application database or stealing users information. In this paper we have put focus on all kinds of SQL injection and XSS attacks and approaches for their detection and prevention. In fact, SQL Injection and XSS are categorized as the top Web application vulnerabilities experienced by Web applications according to OWASP (Open Web Application Security Project) project [4]. 2. DISCUSSION The organization of the paper will start by briefly discussing SQL Injection in section 3 and its different types in section 3.1. In section 3.2 we discuss various approaches suggested by different authors to detect SQL injection, their workings and limitations. Then in section 3.3 an analytical evaluation of different approaches to detect SQL injection has been done against different kinds of injection. In section 4 we will put our focus on briefly discussing Cross -Site Scripting attack, its different kinds till known so far will be discussed in section 4.1. Then in section 4.2 we will see working of approaches developed to detect XSS in web applications.
2 Section 4.3 contains evaluation of approaches suggested by different authors against existing XSS attacks. Finally in section 5 this paper is concluded and there will be a brief discussion on new trends and direction. 3. SQL INJECTION SQL injection attack is a kind of attack where an attacker sends SQL (Structure Query Language) code to a user input box in a web form of a web application to gain unlimited and unauthorized access. The attacker s input is transmitted into an SQL query in such a way that it forms an SQL code [2], [3]. 3.1 SQL Injection Types These are the classification of SQL injection types according to Halfond, Viegas and Orso researches [1], [5]: Tautology: This attack bypasses the authentication and access data through vulnerable input field using where clause by injecting SQL tokens into conditional query statements which always evaluates to true. Example Select * from <tablename> where userid = <id> and password = <wrongpassword> or 1=1; Logically incorrect queries: The error message sent from database on being sending wrong SQL query may contain some useful debugging information. This could help in finding parameters which are vulnerable in the web application and hence in the database of the application Example.- The error message for sending a wrong password may be like:- Select * from <tablename> where userid = <id> and password = <wrongpassword> or 1=1; From this information the attacker is likely to know the table name and name of the fields in the database which could be used further to prepare a more organized attack Union queries: The Union keyword in SQL can be used to get information about other tables in the database. And if used properly this can be exploited by attacker to get valuable data about a user from the database. Example- Select * from <tablename> where userid = <id> and password = <rightpassword> Union select creditcardnumber from CreditCardTable; The part in italics in the query is sent by attacker as input to password textbox Piggy-backed Queries: This is the kind of attack where an attacker appends ; and a query which can be executed on the database. It could be one of the very dangerous attacks on database which could damage or may completely destroy a table. If this attack is successful then there could be huge loss of data. Example- Select * from <tablename> where userid = <id> and password = <rightpassword>; Drop table <tablename>; The part in italics in the query is sent by attacker as input to password textbox Stored Procedure: It is an abstraction layer on top of database and depending on the kind of stored procedure there are different ways to attack. The vulnerability here is same as in web applications. Moreover all the types of SQL injection applicable for a web application are also going to work here Blind Injection: It s difficult for an attacker to get information about a database when developers hide the error message coming from the database and send a user to a generic error displaying page. It s at this point when an attacker can send a set of true/false questions to steal data. Example- SELECT name FROM <tablename> WHERE id=<username> and 1 =0 -- AND pass = SELECT name FROM <tablename> WHERE id=<username> and 1 = 1 -- AND pass = Both the queries will return an error message in case the web application is secure, however if there is no validation for input then the chances of injection exist. If attacker receives an error after submitting the first query, he might not know that, was it because of input validation or error in query formation. After that on submission of the second query which is always true if there is no error message then it clearly states that id field is vulnerable Timing Attacks: In this kind of attack timing delays are observed in response from a database which helps to gather information from a database. SQL engine is caused to execute a long running query or a time delay statement with the help of if-then statement which depends on the logic that has been injected. It is possible to determine whether injected statement was true or false depending on how much time page takes to load. The keyword WAITFOR along the branches can cause response delay for a given time in a database. Example- varchar(500) = db_nameo if (ascii(substring(@s, I, I)) & ( power(3, 0))) > O waitfor delay '0:0:10' In this example database gets paused for ten seconds if in the database used, the first bit of the first byte of the name is 1.So, when condition is true this code is injected to produce response delay in time Alternate Encodings: This technique is used to modify injection query by using alternate encodings, like Unicode, ASCII, hexadecimal. In this way attacker can escape the filter for wrong characters. It could be dangerous if used in combination with other techniques as it can target different layers of a web application. All different kinds of SQL injection attack can be hidden using this method through alternate encodings.
3 Example- SELECT name FROM <tablename> WHERE id= and password=o;exec(char(o x j776e)) The actual character is returned by the char function used here which takes hexadecimal encoded characters as input. During execution this encoded string gets converted into shutdown command for database. 3.2 Approaches to Detect SQL Injection A web application can be protected from SQL injection attack by taking into account two major things:- I. Mechanism to detect SQL injection attacks. II. Knowledge of SQL injection vulnerabilities in web applications. Here we are going to look at most prominent solutions and their workings in brief and know about core ideas behind each of them Shin et al. s Approach SQLUnitGen a tool based on static analysis has been suggested to identify input vulnerabilities manipulation. In Table 1, a comparison has been done between this tool and FindBugs which is again a tool based on static analysis [6]. The mechanism proposed here has been effective on the fact that no false positive were found even after conducting an experiment with 483 attack test cases. Furthermore in different scenarios only a small number of false negatives were noticed. In addition for some of the applications a more significant number of false negatives may occur due to some shortcomings. So, the author has talked about bringing an improvement in the tool in future and getting rid of these shortcomings leading to significant false negatives [6] Database Security Testing Approach by Haixia and Zhihong A secured database testing approach has been suggested for web applications by Haixia and Zhihong. This approach suggested following:- I. Detection of potential input points of SQL injection. II. Automatic generation of test cases. III. Running the test cases to make an attack on the application to find the database vulnerability. The mechanism suggested here is shown to be efficient as it was able to detect the input points of SQL Injection exactly and on time as per expectation. An analysis on this technique makes it clear that the approach needs improvement in the development of attack rule library and detection capability [7] SAFELI Fu et al. suggested a Static Analysis approach to detect SQL Injection Vulnerabilities. The main aim of SAFELI approach is to identify the SQL Injection attacks during compile-time. It has a couple of advantages. First, it performs a White-box Static Analysis and second, it uses a Hybrid-Constraint Solver. On one hand where the given approach considers the byte-code and deals mainly with strings in case of White-box Static Analysis, on the other through Hybrid-Constraint Solver, the method implements an efficient string analysis tool which is able to deal with Boolean, integer and string variables. Its implementation was done on ASP.NET Web applications and it was able to detect vulnerabilities that were ignored by the black-box vulnerability scanners. This approach is an efficient approximation mechanism to deal with string constraints. However, the approach is only dedicated to ASP.NET vulnerabilities [8] Ruse et al. s Approach The approach suggested here uses automatic test case generation for detection of SQL injection vulnerabilities. The idea is to create a specific model that deals with SQL queries automatically. Furthermore this technique also identifies the relation between sub-queries. This technique is shown to identify the casual set and obtain 85% and 69% reduction respectively while experimenting on few sample examples. Moreover, no false positive or false negative were produced and it has been able to detect the root cause of the injection. Table 1: Comparison with static analysis tool
4 Although this approach claimed an apparent efficiency, it has a huge drawback that this approach has not been tested on real life existing database with real queries [9] Thomas et al. s Approach This approach suggested an automated prepared statement generation algorithm to eliminate vulnerabilities related to SQL Injection. Their research work used four open source projects namely: (i) Net-trust, (ii) ITrust, (iii) WebGoat, and (iv) Roller. The experimental results show that, their prepared statement code was able to successfully replace 94% of the SQL injection vulnerabilities in four open source projects. The only limitation observed was that the experiment was conducted using only Java with a limited number of projects. Hence, the wide application of the same approach and tool for different settings still remains an open research issue to investigate [10] Roichman and Gudes s Fine-grained Access Control Approach The approach suggested here for securing web applications uses fine-grained access control to web databases. The built in database control is used to supervise and monitor access to corresponding database. This mitigates the risk of attack at database application backend because of the fact that security and access control of a database is transferred from the application layer to the database layer. SQL session traceability vulnerability has this solution. Furthermore it is a framework which applies to all kinds of database application [11]. Table 2 shows the performance evaluation chart for it [11] SQL-IDS Approach This approach has been suggested by Kemalis and Tzouramanis in [12] and it uses a novel specification-based methodology for detecting exploitations of SQL injection vulnerabilities. The method proposed here does queryspecific detection which allows the system to perform concentrated analysis at almost no computational overhead. It also does not produce any false positives or false negatives. This is a very new approach and in practice it s very efficient; however, it is required to conduct more experiments and do comparison with other detection methods under a flexible and shared environment AMNESIA Junjin proposed AMNESIA which is an approach for tracing SQL input flow and generating attack input. JCrasher has been used for generating test cases, and SQLInjectionGen to identify the hotspots. Two web applications were used for conducting this experiment on MySQL1 1 v SQLInjectionGen produced only two false negatives in three attempts on two different databases. This framework has been effective on the fact that it emphasized on attack input precision. Furthermore attack input is matched properly with arguments of the method. The most important advantage of this approach is that there are no false positives and a very small number of false negatives. The only disadvantage of this technique is that it has a number of steps involved using different tools [13] SQLrand Approach SQLrand is an approach proposed by Boyd and Keromytis in which randomized SQL query language is used, pointing a particular CGI (Common Gateway Interface) in an application. A proxy server was used in between the SQL server and Web server for implementation; the queries received from the client were de-randomized and request was sent to the server. This technique has two main advantages: security and portability. The proposed approach has a very good performance: every query has maximum latency overhead of 6.5 milliseconds. So, considering the performance obtained and strong defense against injected queries it is a very efficient approach. However, as this is a proof of concept only; A lot of support is required from programmers in building tools using SQLrand to target more DBMS back-ends for further testing [14] SQL DOM Approach McClure and Krüger suggested a framework SQL DOM (strongly-typed set of classes with database schema). The existing flaws have been considered closely during access of relational databases from Object-Oriented Programming Language s point of view. The focus lies mainly in identifying hurdles in interacting with databases through Call Level Interfaces. The solution proposed here is based on SQL DOM object model to handle this kind of issues by creating a secure surrounding i.e., creation of SQL statement through object manipulation for communication. When this technique was evaluated qualitatively it showed many Table 2. Performance Evaluation Chart of Fine Grained Access Control Approach
5 advantages for: testability, readability, maintainability and error detection at compile. Although this proposal is efficient, there still exists scope of further improvements with latest and more advanced tools such as CodeSmith [15, 16] Using Stored Procedures Stored procedures are functions in the database which can be called by an application to do various operations on a database tables. A combination of static and runtime analysis is used in the detection and prevention in these stored procedures. Stored procedure parser is used for identifying the commands and SQLChecker is used at runtime for identifying the input. Huang et al. proposed a combination of static and runtime analysis and monitoring to bolster the security of potential vulnerabilities. Web application Security by Static Analysis and Runtime Inspection (WebSSARI) was used and implemented on 230 open source applications on SourceForge.net. The approach was found to be effective although it failed to remove the SQL Injection Vulnerabilities. It was only able to list the input either white or black [31, 26] Parse Tree Validation Approach A parser tree framework was adopted by Buehrer et al.. The original statement was compared with parsed tree of a particular statement dynamically at runtime. The execution of the statement was stopped unless there was a match found. A student s web application was used for this method using SQLGuard. Although the technique was found out to be efficient, it contained two major deficiencies: listing of input only and additional overheard computation [33] Dynamic Candidate Evaluations Approach An approach has been proposed by Bisht et al. called CANDID (Candidate evaluation for Discovering Intent Dynamically). It is a Dynamic Candidate Evaluations technique in which SQL injection is not only detected but also prevented automatically. Mechanism behind this method is that it dynamically extracts the query structures from every SQL query location which is intended by the developer. So, basically it resolves the problem of manually changing the application to produce the prepared statements. Although tool using this mechanism has been shown to be efficient in some cases, it failed for many other cases. An example for its failure is when applied at a wrong level or when an external function is dealt with. Furthermore it also fails in many cases due to limited capability of this technique [34] Ali et al. s Approach This approach has been adopted by Ali et al. in which a hash value technique has been followed to improve user authentication mechanism. Hash values for user name and password has been used. For testing this kind of framework SQLIPA (SQL Injection Protector for Authentication) was developed. Hash values for user name and password is created for the first time user account is created and they stored in the user account table in a database. The framework requires further improvement in order to minimize the overhead time which was 1.3 ms even though tested on few sample data. Hence simply minimizing the overhead time is not sufficient but also to test this framework with large amount of data is required [35] SQLCHECKER Approach Su and Wassermann implemented their algorithm with SQLCHECK on a real time environment. It checks whether the input queries conform to the expected ones defined by the programmer. A secret key is applied for the user input delimitation. The analysis of SQLCHECK shows no false positives or false negatives. Also, the overhead runtime rate is very low and can be implemented directly in many other Web applications using different languages. Table 3 shows the number of attacks attempted as well as prevented [36]. It also shows the number of valid uses attempted and allowed, and the mean and standard deviation of times across all runs of SQLCHECK for the application under check. It is a very efficient approach; however, once an attacker discovers the key, it becomes vulnerable. Furthermore, it also needs to be tested with online Web applications [36, 3]. Table 3. Precision and timing results for SQLCHECK
6 Detecting Intrusions in Web Databases (DIWeDa) Approach Intrusion Detection Systems has been proposed by Roichman and Gudes for the backend databases. DIWeDa which is a prototype and acts at the session level rather than the SQL statement or transaction stage has been used by them for detection of intrusions in Web applications. In a particular session, DIWeDa determines the normal behavior of different roles in terms of the set of SQL queries issued, and then does a comparison with one having the profile to identify intrusions. The proposed framework is efficient and could easily identify SQL injections as well as business logic violations. However, with a threshold of 0.07, the True Positive Rate (TPR) was found to be 92.5% and the False Positive Rate (FPR) was 5%. Hence, there is a great need of accuracy improvement (Increase of TPR and decrease of FPR). It also needs to be tested against new types of Web attacks [37] Manual Approach The use of manual approach [13] has been highlighted by MeiJunjin in order to prevent SQL Injection input manipulation flaws. Defensive programming and code reviews are two main methods followed for application of manual approach. An input filter implemented in defensive programming restricts user to input malicious characters and keywords. White lists and Black lists are mainly used to achieve this objective. If we compare both the mechanism then in comparison to the code review [38], it is a low cost mechanism in detecting bugs; however, it requires deep knowledge on SQL Injection Attacks. 3.3 Comparative Analysis for SQL Injection Every approach has some benefits depending on the settings of the system configured, so it would not be easy to get an idea about which one is the best. In Table 4 we show a chart of different approaches against different kinds of SQL injection attacks. Table 4 also shows a comparative analysis of SQL injection detection and prevention techniques with attack types. Attacks/ Approaches Tautology Table:4 Various Approaches of SQL Injection and their Attacks Logically Incorrect Queries Union Query Piggy- Backed Queries Stored Procedure Blind Injection Timing Attacks Alternate Encoding AMNESIA Yes Yes Yes Yes No Yes Yes Yes CANDID Yes No No No No No No No DIWed No No No No No Yes Yes No SQLrand Yes No Yes Yes No Yes Yes No SQLCHECK Yes Yes Yes Yes No Yes Yes Yes SQLDOM Yes Yes Yes Yes No Yes Yes Yes SQLGuard Yes Yes Yes Yes No Yes Yes Yes SQLIPA Yes No No No No No No No WebSSARI Yes Yes Yes Yes Yes Yes Yes Yes Table 5: Objective of Various Approaches Approaches Goals Detection Prevention AMNESIA Yes Yes CANDID Yes No DIWeDa Yes No SQLrand Yes Yes SQLCHECK Yes No SQL DOM Yes Yes SQLGuard Yes No SQL-IDS Yes Yes SQLIPA Yes No WebSSARI Yes Yes
7 Although there exist many approaches to identify and prevent these attacks, only a few of them have been implemented practically. Hence, this comparison is based on analytical evaluation rather than empirical experience. In Table 5, we have shown the major approaches to combat with SQL Injection and classified them on the basis of their features. 4. CROSS-SITE SCRIPTING (XSS) Cross-Site Scripting (XSS) are the kinds of attacks on the web applications where an attacker is able to get control of user s browser for executing a malicious script which is mainly in the form of HTML/JavaScript code. It mainly lies in the context of trust of the web application s site. In result to it an attacker may be able to reach any sensitive browser resource related to the web application (passively or actively) if in case the embedded code gets executed successfully. Examples - cookies, session IDs, etc. [17].This problem has been figured out in two fold in [24]. Firstly, by design the browsers are not secure. They have been created with the motive of producing outputs with respect to a request and it is not considered the main duty of a browser to figure out whether a piece of code is doing something malicious. Secondly, because of lack in programming knacks and timeline constraint web application developers are unable to create secure sites. 4.1 Types of XSS attacks XSS attacks are mainly of three types: persistent attacks, non-persistent attacks and DOM based [23] Non-Persistent Attack This is most common type of XSS vulnerability. The malicious code is not stored persistently; however it is reflected to the user immediately. As for example, let us consider a form for search query which displays results on to the page and the query is not being filtered for any scripting code. This can be easily exploited by an attacker through sending a victim user an containing special designed link which is pointing to this search form and contains a malicious code in JavaScript. If the victim gets tricked and clicks this link then search form gets submitted with JavaScript code as query string, as a result the Script is sent back to the user victimized, as a part of the web page with result. As soon as this script gets executed, the cookie set by valid site will be forwarded to the malicious web site in the form of parameter to the invocation of the steal-<page> server-side script. This cookie will get saved on the malicious website. This can be further manipulated by attacker through impersonating the unsuspecting user in respect to trusted site [21, 22]. A sample scenario of nonpersistent attack is explained in the Figure 1 [17] Persistent Attack This is a type of XSS attack where malicious code is stored in the persistently in a resource like file system, database or some other location which is managed by server and displayed to the users later. There is even no requirement of encoding as it is sent using html entities. As for example in case of an online message board users post messages which can be accessed by others later on some time [22]. Similarly as Figure1, a sample scenario of persistent attack is explained in the Figure2 [17] DOM based XSS Attack This kind of XSS attack is performed by changing the DOM environment on client side instead of sending the malicious code to server. So there is no chance of verification of payload by the server. In this kind of invasion major browsers are compelled to not to send the malicious payload to server. As a result even well-setup XSS filters become null against such attacks. Figure1: Non-Persistent XSS attack sample scenario
8 Figure2: Persistent XSS attack sample scenario 4.2 Approaches to Detect XSS There are mainly three kinds of approaches followed since so far to detect XSS in web application. They are: Static Analysis, Dynamic Analysis and Combination of Static and Dynamic Analysis Static Analysis approach Bounded Model Checking: Counterexample traces has been used by Huang et al. to minimize the number of sanitization routines inserted and to identify the reason of errors that enhance the precision of both code instrumentation and error reports [40]. Variables representing current trust level were assigned states which further were used in verifying the legal information flow in a web application. Now in order to verify the correctness of all safety states of program Abstract Interpretation, Bounded Model Checking technique was used. Some of the major problems in their approach was to leave out alias analysis or include file resolution issues [29]. Analysis of String: This approach has been suggested by Christensen, Mǿller, and Schwartzbach in the form of study of static string analysis for imperative languages. They have shown usefulness of string in checking for errors in dynamically generated SQL queries and analysis for analyzing reflective code in Java programs [42]. They used finite state automata as a target language representation to analyze Java. Methods from computational linguistics were also applied to generate good Finite State Automata approximation of CFGs [26]. This approach is not so efficient than the other string analyzes because the source of data was not tracked and it must also determine Finite State Automata between each operations, so not a practical approach to find XSS vulnerabilities [44]. The same approach has been followed by Minamide to design a string analysis for PHP which is not approximating CFGs to Finite State Automata. This technique checks the presence of <script> tag in the whole document. As web applications more often have their own scripts and also there are several other ways to invoke a JavaScript interpreter the approach is not at all practical to find XSS vulnerabilities. Software Testing Approaches: A number of black-box testing, fault injection and behavior monitoring to web applications approaches has been used by Y. Huang, S. Huang, Lin, and Tsai in order to predict the presence of vulnerabilities [44]. This approach combines user experience modeling as black-box testing and user-behavior simulation [40]. There are many other projects where a similar kind of approach has been followed like APPScan [46], WebInspect[45], and ScanDo [47]. As all these approaches were used to detect errors in the development life cycle, they might not be able to provide instant web application protection [26] and they cannot guarantee the detection of all flaws as well [48]. Taint Propagation Approach: This kind of analysis is being used by many dynamic and static approaches, they use data flow analysis to track movement of information flow from origin to end. [18, 26, 27, 28, 29] There are some assumptions in this approach: The application is secure if a sanitization operation is performed from start to end in the in all the paths. [30]. It is not considered a good idea to have faith on user s filter and not to check the sanitization function because there are some Cross-Site Scripting attack vectors which can easily bypass many filters considered to be strong. Hence, a strong security mechanism is not provided here. [36].
9 Using Untrusted Scripts: This is a method in which a list of untrusted scripts obtained from user given data is used to detect harmful scripts. Wassermann and Su s recent approach in [41] is an example of this technique. The method followed here was building policies and generating regular expressions of untrusted tags and then checking if there is an intersection between CFG, generated from String taint static analysis and regular expression generated. If the result was positive then further actions had to be taken. It is believed that untrusted list use is easy and not a good idea. The same has been stated in the document of OWASP. [4] It is clearly mentioned in the document not to use blacklist validation to detect XSS in input or to encode output. Search and replacement of a few characters ( <, > ) which are considered as bad is weak and has been attacked successfully. There are a number of different kinds of XSS which can easily bypass blacklist validation Dynamic Analysis Approach Syntactical Structure Approach: Su, and Wassermann in [36] suggested an approach which states that when there is a successful injection attack there is a change in the syntactical structure of the exploited entity. So, they have presented an approach where syntactic structure of output string is checked to detect malicious payload. For tracking sub-string from source to sinks they increased the user input with metadata. The modified parser was helped by this metadata to check the syntactical structure of the dynamically generated string by indicating start and end point of the user given input. Moreover the process was blocked if there was a sign of any abnormality. This approach was found to be quite successful while it detects any injection vulnerabilities other than XSS. Hence, it is not sufficient to avoid this sort of workflow vulnerabilities which are result of interaction between multiple modules [49]. Interpreter-based Approaches: This approach has been suggested by Pietraszek, and Berghe in which there is use of instrumenting interpreter to track untrusted data at the character level and for identifying vulnerabilities that use context-sensitive string evaluation at each susceptible sink [32]. This technique is good and also able to detect vulnerabilities as security assurance is added by modifying the interpreter, however this approach of modifying interpreter is not easily feasible to some other famous and widely used web programming languages, such as Java, Jsp, Servlets [36]. Browser-Enforced Embedded Policies Approach: The browser is provided with a white list of all the benign scripts to protect user it from malicious code [25]. This was a good idea which allows only the scripts in the provided list to run; however, since there is a lot of difference in the parsing mechanism of different browsers a successful filtering system of one browser may not be successful for other. Hence, although the technique explained in this paper is quite successful against these kinds of situations but a modification is required to be done in all the browsers to enforce the policy. So, the problem of scalability comes into existence from the point of view of web applications [39]. Furthermore every client needs to have this modified version of browser on their system. Proxy-based Approach: A web proxy could be used to prevent transferring of any sensitive information from a victim s site to any other site. Ex. - Noxes [20]. Malware is detected and blocked by this application-level firewall. There is a fine grained control provided to users on every connection coming or leaving the local machine. Firewall always prompts the user in case there is any mismatch between the connections coming or leaving the local machine and the rules set for it. Now user is responsible to decide whether to allow or block these connections. Similar kind of approaches has been followed in [43], [19], and [48]. It is not sufficient to Blacklist a link to prevent cross-site Scripting attacks. Huang et al. suggested, proxy-based approach does not provide a method to find errors, moreover it requires a watchful configuration [26]. This approach could definitely increase false positive as they protect the unpredictable link with no examination of the fault [40] Static and Dynamic Analysis Approach Lattice-based Approach: There is a tool called WebSSARI which combines static and runtime features and find security vulnerabilities by applying static taint propagation analysis [26]. WebSSARI follows typestate and lattice model and uses flow sensitive, intraprocedural approach to determine vulnerability. When this tool knows that tainted data has reached sensitive function, it automatically puts runtime guards which are also called as sanitization routines [49]. There is a big drawback with this technique that it gives a large number of false negative and positive because of its intra-procedural type-based analysis [18]. Furthermore this approach also takes results from users designed filters as safe. Hence, the real vulnerabilities might be missed, as it is quite possible that malicious payload may not be detected by designated filtering function. 4.3 Evaluation of XSS Approaches Ten methodologies to detect XSS described in this paper has been evaluated in Table 6. The first column contains the approaches for different tools suggested. Low status indicates that the tool stated in this approach is unable to solve the problem. If it has a High status then it means that the tool stated in this approach is able to resolve the problem successfully and if it is Medium, the approach may be able to solve some part of the issue. Table 7 figures out the false positive rate of those tools on the basis of the results published in different papers. Some of the results contain NA that means, there is not enough information available to summarize them. In Table 7 High states says that they generate more false positive which is a huge disadvantage of any tool. 5. Conclusion There are many approaches and frameworks implemented in different web applications, security is still one of the major issues all across the globe. In this paper we have gone through specific cases of SQL injection and XSS attacks to web applications. We found out how existence of XSS and SQL injection vulnerabilities in web applications has huge
10 Table 6: Existing Methods Capability to Resolve Problems Approach\Problems DOM-based Static-Script Browser-Enforced Embedded Policies High High High Low Bounded Model Checking Low Low Low Low Interpreter-based High Low High Low Lattice-based Analysis Low Low Low Low Preventing XSS Using Untrusted Scripts Medium Low Low Low Proxy-based Solutions Low Low Low Low Software Testing Techniques Low Low Low Low String Analysis Low Low Low Low Syntactical Structure Analysis Low Low Low Low Taint Propagation Analysis High High High High Browserspecific Multi- Module Table 7: False Positive Rate of Existing Methods Approaches Browser-Enforced Embedded Policies Bounded Model Checking Interpreter-based Lattice-based Analysis Preventing XSS Using Untrusted Scripts Proxy-based Solutions Software Testing Techniques String Analysis Syntactical Structure Analysis Taint Propagation Analysis False Positive Low NA Medium High Medium Medium NA Medium Low High risk not only for the application but also for users as well. We surveyed various existing approaches to detect and prevent these vulnerabilities in an application, giving a brief note on their advantages and disadvantages. All the approaches followed by different authors leads to a very interesting solution; however some failures are associated with almost each one of them at some point. Furthermore some of them even do not provide reasonable security and can be easily bypassed by attackers. Also a few of them are so complex it is almost impractical for a user to use in real situations. The key finding of this paper is analytical survey report on various types of SQL injection and XSS attacks against different methods defined by several authors. All the methods have been assessed on the basis of their performance and feasibility. 6. Acknowledgement Sincere thanks to Konstantin Beznosov, San-Tsai Sun and anonymous reviewers for their valuable comments and help in early drafts of this paper. 7. References [1] Sruthi Bandhakavi, Prithvi Bisht, P. Madhusudan, CANDID: Preventing SQL Injection Attacks using Dynamic Candidate Evaluations, 2007, Alexandria, Virginia, USA, ACM. [2] A Tajpour, A., Masrom, M., Heydari, M.Z., and Ibrahim, S., SQL injection detection and prevention tools assessment. Proc. 3rd IEEE International Conference on Computer Science and Information Technology (ICCSIT 10) 9-11 July (2010), [3] L Halfond W. G., Viegas, J., and Orso, A., A Classification of SQL-Injection Attacks and Countermeasures. In Proc. of the Intl. Symposium on Secure Software Engineering, Mar. (2006). [4] Injection, retrieved on 13/01/2010 [5] Xin Jin, Sylvia Losborn. Architecture for Data Collection in Database Intrusion Detection System.
11 Secure Data Management. Pages Springer Berlin /Heidelberg [6] Shin, Y., Williams, L., and Xie, T., SQLUnitGen: Test Case Generation for SQL Injection Detection. North Carolina State University, Raleigh Technical report, NCSU CSC TR (2006). [7] T Haixia, Y. and Zhihong, N., A database security testing scheme of web application. Proc. of 4th International Conference on Computer Science & Education 2009 (ICCSE '09), July (2009), [8] Fu, X., Lu, X., Peltsverger, B., Chen, S., Qian, K., and Tao, L., A Static Analysis Framework for Detecting SQL Injection Vulnerabilities. Proc. 31st Annual International Computer Software and Applications Conference 2007 (COMPSAC 2007), July (2007), [9] Ruse, M., Sarkar, T., and Basu. S., Analysis & Detection of SQL Injection Vulnerabilities via Automatic Test Case Generation of Programs. Proc. 10th Annual International Symposium on Applications and the Internet (2010), [10] Thomas, S., Williams, L., and Xie, T., On automated prepared statement generation to remove SQL injection vulnerabilities. Information and Software Technology, Volume 51 Issue 3, March (2009), [11] Roichman, A., Gudes, E., Fine-grained Access Control to Web Databases. Proceedings of 12th SACMAT Symposium, France (2007). [12] Kemalis, K. and T. Tzouramanis. SQL-IDS: A Specification-based Approach for SQLinjection Detection. SAC 08. Fortaleza, Ceará, Brazil, ACM (2008), [13] Junjin, M., An Approach for SQL Injection Vulnerability Detection. Proc. of the 6th International Conference on Information Technology: New Generations, Las Vegas, Nevada, April (2009), [14] TBoyd S.W. and Keromytis, A.D., SQLrand: Preventing SQL Injection Attacks. Proceedings of the 2nd Applied Cryptography and Network Security (ACNS 04) Conference, June (2004), [15] McClure, R.A. and Kruger, I.H., SQL DOM: compile time checking of dynamic SQL statements. 27th International Conference on Software Engineering (ICSE 2005), May (2005), [16] [17] J. Garcia-Alfaro and G. Navarro-Arribas, Prevention of cross-site scripting attacks on current web applications, in Proceedings of the 2007 OTM confederated international conference on On the move to meaningful internet systems: CoopIS, DOA, ODBASE, GADA, and IS - Volume Part II, ser. OTM 07. Berlin, Heidelberg: Springer-Verlag, 2007, pp [18] Y. Xie, and A. Aiken, Static detection of security vulnerabilities in scripting languages, In Proceeding of the 15thUSENIX Security Symposium, July 2006, pp [19] AppShield, Sanctum Inc [20] E. Kirda, C. Kruegel, G. Vigna, and N. Jovanovic, Noxes: A client-side solution for mitigating cross site scripting attacks, In Proceedings of the 21 st ACM symposium on Applied computing, ACM, 2006, pp [21] Microsoft. HotMail: The World s FREE Web-based E- mail. [22].Jagatic, T., Johnson, N., Jakobsson, M., and Menczer, F. Social Phishing. To appear in Communications of the ACM. [23] Wikipedia, [24] Grossman, RSNAKE, PDP, Rager, and Fogie, XSS Attacks: Cross-site Scripting Exploits and Defense, Syngress Publishing Inc, [25] T. Jim, N. Swamy, and M. Hicks, BEEP: Browser- Enforced Embedded Policies, In Proceedings of the 16 th International World Wide Web Conference, ACM, 2007, pp [26] Y.-W. Huang, F. Yu, C. Hang, C. H. Tsai, D. Lee, and S.Y. Kuo, Securing web application code by static analysis and runtime protection, In Proceedings of the 13 th International World Wide Web Conference, [27] V.B. Livshits, and M.S. Lam, Finding security errors in Java programs with static analysis, In proceedings of the 14 th Usenix security symposium, August 2005, pp [28] JavaScript Security: Same origin, Mozilla Foundation, me-origin.html, February 2006 [29] N. Jovanovic, C. Kruegel, and E. Kirda, Precise alias analysis for syntactic detection of web application vulnerabilities, In ACM SIGPLAN Workshop on Programming Languages and Analysis for security, Ottowa, Canada: June [30] D. Balzarotti, M. Cova, V. Felmetsger, N.Jovanovic, E. Kirda, C. Kruegel, and G. Vigna, Saner: Composing Static and Dynamic Analysis to Validate Sanitization in Web Applications, In IEEE symposium on Security and Privacy, [31] Amirtahmasebi, K., Jalalinia, S.R., and Khadem, S., A survey of SQL injection defense mechanisms. International Conference for Internet Technology and Secured Transactions (ICITST 2009), 9-12 Nov. (2009), 1-8 [32] T. Pietraszek, and C. V. Berghe, Defending against Injection Attacks through Context-Sensitive String Evaluation, In Proceeding of the 8 th International Symposium on Recent Advance in Intrusion Detection (RAID), September [33] Buehrer, G., Weide, B.W., and Sivilotti, P.A.G., Using Parse Tree Validation to Prevent SQL Injection Attacks. Proc. of 5th International Workshop on Software Engineering and Middleware, Lisbon, Portugal (2005) [34] Bisht, P., Madhusudan, P., and Venkatakrishnan, V.N., CANDID: Dynamic Candidate Evaluations for 11
12 Automatic Prevention of SQL Injection Attacks. ACM Transactions on Information and System Security, Volume 13 Issue 2, (2010), doi> / [35] Ali, S., Shahzad, S.K., and Javed, H., SQLIPA: An Authentication Mechanism Against SQL Injection. European Journal of Scientific Research, Vol. 38, No. 4 (2009), [36] Z. Su and G. Wassermann, The essence of command Injection Attacks in Web Applications, In Proceeding of the 33 rd Annual Symposium on Principles of Programming Languages, USA: ACM, January 2006, pp [37] Roichman, A., and Gudes, E., DIWeDa - Detecting Intrusions in Web Databases. Atluri,V. (ed.) DAS LNCS, vol. 5094, Springer, Heidelberg (2008), [38] Baker, R.A., Code Reviews Enhance Software Quality. In Proceedings of the 19th international conference on Software engineering (ICSE'97), Boston, MA, USA (1997), [39] P. Bisht, and V.N. Venkatakrishnan, XSS-GUARD: Precise dynamic prevention of Cross-Site Scripting Attacks, In Proceeding of 5 th Conference on Detection of Intrusions and Malware & Vulnerability Assessment, LNCS 5137, 2008, pp [40] Y.-W Huang, F. Yu, C. Hang, C. H. Tsai, D. Lee, and S. Y. Kuo. Verifying Web Application using BoundedModel Checking, In Proceedings of the International Conference on Dependable Systems and Networks, [41] G. Wassermann, and Z. Su, Static detection of crosssite Scripting vulnerabilities, In Proceeding of the 30 th International Conference on Software Engineering, May [42] A.S. Christensen, A. Mǿller, and M.I. Schwartzbach, Precise analysis of string expression, In proceedings of the 10 th international static analysis symposium, vol of LNCS, Springer-Verlag, pp [43] N. Jovanovic, C. Kruegel, and E. Kirda, Pixy: A static analysis tool for detecting web application vulnerabilities (short paper), In 2006 IEEE Symposium on Security and Privacy, Oakland, CA: May [44] Y.-W. Huang, S.-K. Huang, T.-P. Lin, and C.-H. Tsai, Web application security assessment by fault injection and Behavior Monitoring, In Proceeding of the 12 th international conference in World Wide Web, ACM, New York, NY, USA: 2003, pp [45] Web Application Security Assessment, SPI Dynamics Whitepaper, SPI Dynamics, [46] Web Application Security Testing AppScan 3.5, Sanctum Inc., [47] InterDo Version 3.0, Kavado Whitepaper, Kavado Inc., 2003 [48] D. Scott, and R. Sharp, Abstracting Application-Level Web Security, In Proceeding 11thinternational World Wide Web Conference, Honolulu, Hawaii: 2002, pp [49] D. Balzarotti, M. Cova, V. V. Felmetsger, and G. Vigna, Multi-Module Vulnerability Analysis of Web-based Applications, In proceeding of 14 th ACM Conference on Computer and Communications Security,Alexandria, Virginia, USA: October
A Novel Approach to detect SQL injection in web applications
A Novel Approach to detect SQL injection in web applications Kuldeep Kumar 1, Dr. Debasish Jena 2 and Ravi Kumar 3 1&2 IIIT Bhubaneswar, Bhubaneswar-751003 3 InstaSafe Technologies Pvt. Ltd, Bangalore-560076
A Survey on Detection and Prevention of Cross-Site Scripting Attack
, pp. 139-152 http://dx.doi.org/10.14257/ijsia.2015.9.3.14 A Survey on Detection and Prevention of Cross-Site Scripting Attack V. Nithya 1, S. Lakshmana Pandian 2 and C. Malarvizhi 3 1,3 University College
An analysis on Blocking of SQL Injection Attacks by Comparing Static and Dynamic Queries
An analysis on Blocking of SQL Injection Attacks by Comparing Static and Dynamic Queries Jaskanwal Minhas Dept. of Computer Science and Engineering, Sant Baba Bhag Singh Institute of Engineering and Technology,
A Detailed Survey on Various Aspects of SQL Injection in Web Applications: Vulnerabilities, Innovative Attacks, and Remedies
1 A Detailed Survey on Various Aspects of SQL Injection in Web Applications: Vulnerabilities, Innovative Attacks, and Remedies Diallo Abdoulaye Kindy 1,2 and Al-Sakib Khan Pathan 2 1 CustomWare, Kuala
Detecting SQL Injection and Cross-Site Scripting Attacks in Web Applications
Detecting SQL Injection and Cross-Site Scripting Attacks in Web Applications K. Vijay Bhaskar 1 Asst. Professor, CSE Dept Geethanjali College of Engineering & Technology, Cheryal, Hyderabad. [email protected]
SQL INJECTION MONITORING SECURITY VULNERABILITIES IN WEB APPLICATIONS
SQL INJECTION MONITORING SECURITY VULNERABILITIES IN WEB APPLICATIONS Manas Kumar 1, S. Senthil kumar 2 and D. Sarvanan 3 1 M.C.A. (Final Year) Abstract Sql injection: a recently discovered application
Detection and Prevention of SQL Injection Attacks
Detection and Prevention of SQL Injection Attacks 1 Sailor Pratik, 2 Prof. Jaydeep Gheewala 1 Computer Department 1 Sarvajanik College of Engineering and Technology, Surat, Gujarat, India 1 [email protected],
Bayesian Classification for SQL Injection Detection
Bayesian Classification for SQL Injection Detection Brandon Skari College of Engineering and Applied Science University of Wyoming Laramie, Wyoming 82070 [email protected] April 6, 2011 Overview
Toward A Taxonomy of Techniques to Detect Cross-site Scripting and SQL Injection Vulnerabilities
NCSU CSC TR 2008-4 1 Toward A Taxonomy of Techniques to Detect Cross-site Scripting and SQL Injection Vulnerabilities Yonghee SHIN, Laurie WILLIAMS, Members, IEEE Abstract Since 2002, over half of reported
A Multi agent Scanner to Detect Stored XSS Vulnerabilities
A Multi agent Scanner to Detect Stored XSS Vulnerabilities E. Galán, A. Alcaide, A. Orfila, J. Blasco University Carlos III of Madrid, UC3M Leganés, Spain {edgalan,aalcaide,adiaz,jbalis}@inf.uc3m.es Abstract
A Literature Review and Comparative Analyses on SQL Injection: Vulnerabilities, Attacks and their Prevention and Detection Techniques
IJCSI International Journal of Computer Science Issues, Vol. 11, Issue 4, 1, July 2014 www.ijcsi.org 28 A Literature Review and Comparative Analyses on SQL Injection: Vulnerabilities, Attacks and their
An Effective Approach for Detecting and Preventing Sqlinjection Attacks
An Effective Approach for Detecting and Preventing Sqlinjection Attacks M. Roslinmary 1, S. Sivasakthi 2, A. Shenbaga Bharatha Priya 3 1, 2, 3 PG scholar, Department of IT, Dr. Sivanthi Aditanar College
SQLAS: TOOL TO DETECT AND PREVENT ATTACKS IN PHP WEB APPLICATIONS
SQLAS: TOOL TO DETECT AND PREVENT ATTACKS IN PHP WEB APPLICATIONS Vandana Dwivedi 1, Himanshu Yadav 2 and Anurag Jain 3 1 Department of Computer Science & Engineering, RITS,Bhopal (India) 2 Department
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
Detection of DOM-based Cross-Site Scripting by Analyzing Dynamically Extracted Scripts
Detection of DOM-based Cross-Site Scripting by Analyzing Dynamically Extracted Scripts Suman Saha 1, Shizhen Jin 2,3 and Kyung-Goo Doh 3 1 LIP6-Regal, France [email protected] 2 GTOne, Seoul, Korea [email protected]
INTRUSION PROTECTION AGAINST SQL INJECTION ATTACKS USING REVERSE PROXY
INTRUSION PROTECTION AGAINST SQL INJECTION ATTACKS USING REVERSE PROXY Asst.Prof. S.N.Wandre Computer Engg. Dept. SIT,Lonavala University of Pune, [email protected] Gitanjali Dabhade Monika Ghodake Gayatri
Exploitation of Cross-Site Scripting (XSS) Vulnerability on Real World Web Applications and its Defense
Exploitation of Cross-Site Scripting (XSS) Vulnerability on Real World Web Applications and its Defense Shashank Gupta Lecturer in Department of Information Technology, Model Institute of Engineering and
Font Level Tainting: Another Approach for Preventing SQL Injection Attacks
International Journal of Computer Applications in Engineering Sciences [VOL I, ISSUE IV, DECEMBER 2011] [ISSN: 2231-4946] Font Level Tainting: Another Approach for Preventing SQL Injection Attacks V. Krishna
How To Prevent An Sql Injection Attack
CHAPTER 1 PROJECT OVERVIEW 1.1 Introduction Database security is the degree to which all data is fully protected from tampering or unauthorized acts. Security vulnerability, security threat and security
How I hacked PacketStorm (1988-2000)
Outline Recap Secure Programming Lecture 8++: SQL Injection David Aspinall, Informatics @ Edinburgh 13th February 2014 Overview Some past attacks Reminder: basics Classification Injection route and motive
Client vs. Server Implementations of Mitigating XSS Security Threats on Web Applications
Journal of Basic and Applied Engineering Research pp. 50-54 Krishi Sanskriti Publications http://www.krishisanskriti.org/jbaer.html Client vs. Server Implementations of Mitigating XSS Security Threats
XSS-GUARD : Precise Dynamic Prevention of Cross Site Scripting (XSS) Attacks
XSS-GUARD : Precise Dynamic Prevention of Cross Site Scripting (XSS) Attacks Prithvi Bisht (http://cs.uic.edu/~pbisht) Joint work with : V.N. Venkatakrishnan Systems and Internet Security Laboratory Department
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
Enhanced Model of SQL Injection Detecting and Prevention
Enhanced Model of SQL Injection Detecting and Prevention Srinivas Baggam, Assistant Professor, Department of Computer Science and Engineering, MVGR College of Engineering, Vizianagaram, India. [email protected]
HOD of Dept. of CSE & IT. Asst. Prof., Dept. Of CSE AIET, Lko, India. AIET, Lko, India
Volume 5, Issue 12, December 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Investigation
Intrusion Protection against SQL Injection Attacks Using a Reverse Proxy
Intrusion Protection against SQL Injection Attacks Using a Reverse Proxy S. Fouzul Hidhaya 1, 2 and Angelina Geetha 1, 3 1 Department of Computer science and Engineering, B.S. Abdur Rahman University,
A Novel Frame Work to Detect Malicious Attacks in Web Applications
Technology, Volume-2, Issue-1, January-March, 2014, pp. 23-28, IASTER 2014, www.iaster.com, Online:2347-5099, Print:2348-0009 A Novel Frame Work to Detect Malicious Attacks in Web Applications N. Jayakanthan
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
A Tokenization and Encryption based Multi-Layer Architecture to Detect and Prevent SQL Injection Attack
A Tokenization and Encryption based Multi-Layer Architecture to Detect and Prevent SQL Injection Attack Mr. Vishal Andodariya PG Student C. U. Shah College Of Engg. And Tech., Wadhwan city, India [email protected]
Preventing SQL Injection through Automatic Query Sanitization with ASSIST
Preventing SQL Injection through Automatic Query Sanitization with ASSIST Raymond Mui Polytechnic Institute of NYU 6 Metrotech Center Brooklyn, NY, 11201, USA [email protected] Phyllis Frankl Polytechnic
A Simple and Fast Technique for Detection and Prevention of SQL Injection Attacks (SQLIAs)
, pp.53-66 http://dx.doi.org/10.14257/ijsia.2013.7.5.05 A Simple and Fast Technique for Detection and Prevention of SQL Injection Attacks (SQLIAs) Z. Lashkaripour 1, * and A. Ghaemi Bafghi 1 1 Data and
A Survey on Server-side Approaches to Securing Web Applications
A Survey on Server-side Approaches to Securing Web Applications XIAOWEI LI Vanderbilt University YUAN XUE Vanderbilt University Web applications are one of the most prevalent platforms for information
Detection of SQL Injection Attacks by Combining Static Analysis and Runtime Validation
Detection of SQL Injection Attacks by Combining Static Analysis and Runtime Validation Witt Yi Win, and Hnin Hnin Htun Abstract SQL injection attack is a particularly dangerous threat that exploits application
SQL Injection January 23, 2013
Web-based Attack: SQL Injection SQL Injection January 23, 2013 Authored By: Stephanie Reetz, SOC Analyst Contents Introduction Introduction...1 Web applications are everywhere on the Internet. Almost Overview...2
Testing Web Applications for SQL Injection Sam Shober [email protected]
Testing Web Applications for SQL Injection Sam Shober [email protected] Abstract: This paper discusses the SQL injection vulnerability, its impact on web applications, methods for pre-deployment and
Web Services Based SQL Injection Detection and Prevention System for Web Applications
Web Services Based SQL Injection Detection and Prevention System for Web Applications Monali R. Borade 1, Neeta A. Deshpande 2 1 PG Students, 2 Assistant Professor, Matoshri College of Enginering & Research
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
A Review of Web Application Security for Preventing Cyber Crimes
International Journal of Information & Computation Technology. ISSN 0974-2239 Volume 4, Number 7 (2014), pp. 699-704 International Research Publications House http://www. irphouse.com A Review of Web Application
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-
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
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
Securing PHP Based Web Application Using Vulnerability Injection
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 3, Number 5 (2013), pp. 391-398 International Research Publications House http://www. irphouse.com /ijict.htm Securing
Res. J. Appl. Sci. Eng. Technol., 8(5): 658-663, 2014
Research Journal of Applied Sciences, Engineering and Technology 8(5): 658-663, 2014 ISSN: 2040-7459; e-issn: 2040-7467 Maxwell Scientific Organization, 2014 Submitted: May 09, 2014 Accepted: June 16,
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
Classification of SQL Injection Attacks Using SVM Classifier
Classification of SQL Injection Attacks Using SVM Classifier Priti Sonare 1, Sumit Dhariwal 2 and Megha Kamble 3 Excellence,Bhopal, India 1 Excellence,Bhopal, India 2 Excellence,Bhopal, India 3 [email protected]
Client Side Filter Enhancement using Web Proxy
Client Side Filter Enhancement using Web Proxy Santosh Kumar Singh 1, Rahul Shrivastava 2 1 M Tech Scholar, Computer Technology (CSE) RCET, Bhilai (CG) India, 2 Assistant Professor, CSE Department, RCET
Protecting Database Centric Web Services against SQL/XPath Injection Attacks
Protecting Database Centric Web Services against SQL/XPath Injection Attacks Nuno Laranjeiro, Marco Vieira, and Henrique Madeira CISUC, Department of Informatics Engineering University of Coimbra, Portugal
SQL Injection Prevention Using Runtime Query Modeling and Keyword Randomization
SQL Injection Prevention Using Runtime Query Modeling and Keyword Randomization by Subodh Raikar A Project Report Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science
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
Evaluation of Web Security Mechanisms Using Inline Scenario & Online Scenario
Evaluation of Web Security Mechanisms Using Inline Scenario & Online Scenario M. Durai Ganesh (Research Scholars) Information Technology, St. Peter s University, Chennai- 54, Tamil Nadu, India Dr. G.Gunasekaran,
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current
Obfuscation-based Analysis of SQL Injection Attacks
Obfuscation-based Analysis of SQL Injection Attacks Raju Halder Dipartimento di Informatica Università Ca Foscari di Venezia, Italy [email protected] Agostino Cortesi Dipartimento di Informatica Università
RIPS - A static source code analyser for vulnerabilities in PHP scripts
RIPS - A static source code analyser for vulnerabilities in PHP scripts Johannes Dahse 1 Introduction The amount of websites have increased rapidly during the last years. While websites consisted mostly
Securing Network Software using Static Analysis
Securing Network Software using Static Analysis Lauri Kolmonen Helsinki University of Technology [email protected] Abstract Writing network software is not easy and developing secure network software
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
A Survey on Security and Vulnerabilities of Web Application
A Survey on Security and Vulnerabilities of Web Application Gopal R. Chaudhari, Prof. Madhav V. Vaidya Department of Information Technology, SGGS IE & T, Nanded, Maharashtra, India-431606 Abstract Web
Detection and mitigation of Web Services Attacks using Markov Model
Detection and mitigation of Web Services Attacks using Markov Model Vivek Relan [email protected] Bhushan Sonawane [email protected] Department of Computer Science and Engineering, University of Maryland,
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 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 Protection against SQL Injection Attack
The 7th International Conference on Information Technology and Applications (ICITA 2011) Web Application Protection against SQL Injection Attack Ammar Alazab, Moutaz Alazab, Jemal Abawajy, Michael Hobbs
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
How To Prevent A Cross Site Scripting Attack On A Web Browser From Being Successful
39 CHAPTER 2 LITERATURE REVIEW 2.1 INTRODUCTION A threat is any circumstance or event with the potential to cause harm to an application through the disclosure, modification or destruction of information,
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
En efficient approaches for statistics Organization for SQL Injection Attacks Using SVM Classifier
En efficient approaches for statistics Organization for SQL Injection Attacks Using SVM Classifier ABSTRACT Preeti Sonare 1,Sumit Dhariwal 2 1 Department of Computer science &Engineering Sagar Institute
Countering SQL Injection Attacks with a Database Driver 1,2
Countering SQL Injection Attacks with a Database Driver 1,2 Dimitris Mitropoulos, Diomidis Spinellis {dimitro,dds}@aueb.gr Abstract SQL injection attacks involve the construction of application input data
WEB APPLICATION VULNERABILITY DETECTION USING DYNAMIC ANALYSIS WITH PENETERATION TESTING
WEB APPLICATION VULNERABILITY DETECTION USING DYNAMIC ANALYSIS WITH PENETERATION TESTING Sreenivasa Rao B 1 Dept. of Computer Science & Engineering CMJ University, Shillong, India Kumar N 2 Dept. of Computer
FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE
Purpose: This procedure identifies what is required to ensure the development of a secure application. Procedure: The five basic areas covered by this document include: Standards for Privacy and Security
Prevent Cross-site Request Forgery: PCRF
Prevent Cross-site Request Forgery: PCRF Sooel Son University of Texas, Austin [email protected] Abstract CSRF attacks are one of the most prevalent and dangerous web threats at the level of XSS, SQL
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
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
AUTOMATE CRAWLER TOWARDS VULNERABILITY SCAN REPORT GENERATOR
AUTOMATE CRAWLER TOWARDS VULNERABILITY SCAN REPORT GENERATOR Pragya Singh Baghel United College of Engineering & Research, Gautama Buddha Technical University, Allahabad, Utter Pradesh, India ABSTRACT
Penetration Test Report
Penetration Test Report Acme Test Company ACMEIT System 26 th November 2010 Executive Summary Info-Assure Ltd was engaged by Acme Test Company to perform an IT Health Check (ITHC) on the ACMEIT System
Analysis of SQL injection prevention using a proxy server
Computer Science Honours 2005 Project Proposal Analysis of SQL injection prevention using a proxy server By David Rowe Supervisor: Barry Irwin Department of Computer
An Automated Vulnerability Scanner for Injection Attack Based on Injection Point
An Automated Vulnerability Scanner for Injection Attack Based on Injection Point Jan-Min Chen The Dept. of Information Management Yu Da University Miaoli, Taiwan E-Mail: [email protected] Chia-Lun Wu
Detection of SQL Injection and XSS Vulnerability in Web Application
International Journal of Engineering and Applied Sciences (IJEAS) ISSN: 2394-3661, Volume-2, Issue-3, March 2015 Detection of SQL Injection and XSS Vulnerability in Web Application Priti Singh, Kirthika
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
LASTLINE WHITEPAPER. Large-Scale Detection of Malicious Web Pages
LASTLINE WHITEPAPER Large-Scale Detection of Malicious Web Pages Abstract Malicious web pages that host drive-by-download exploits have become a popular means for compromising hosts on the Internet and,
Study of Cross-Site Scripting Attacks and Their Countermeasures
Study of Cross-Site Scripting Attacks and Their Countermeasures Gurvinder Kaur University Institute of Engineering and Technology Kurukshetra University India Abstract: - In present-day time, most of the
Application security testing: Protecting your application and data
E-Book Application security testing: Protecting your application and data Application security testing is critical in ensuring your data and application is safe from security attack. This ebook offers
IJMIE Volume 2, Issue 9 ISSN: 2249-0558
Survey on Web Application Vulnerabilities Prevention Tools Student, Nilesh Khochare* Student,Satish Chalurkar* Professor, Dr.B.B.Meshram* Abstract There are many commercial software security assurance
SQL Injection Protection by Variable Normalization of SQL Statement
Page 1 of 9 SQL Injection Protection by Variable Normalization of SQL Statement by: Sam M.S. NG, 0 http://www.securitydocs.com/library/3388 "Make everything as simple as possible, but not simpler." --
Web Vulnerability Scanner by Using HTTP Method
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 9, September 2015,
Implementation of Web Application Security Solution using Open Source Gaurav Gupta 1, B. K. Murthy 2, P. N. Barwal 3
Implementation of Web Application Security Solution using Open Source Gaurav Gupta 1, B. K. Murthy 2, P. N. Barwal 3 ABSTRACT 1 Project Engineer, CDACC-56/1, Sector-62, Noida, 2 Executive Director, CDACC-56/1,
CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS
66 CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS 5.1 INTRODUCTION In this research work, two new techniques have been proposed for addressing the problem of SQL injection attacks, one
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
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
A Survey on Detection Techniques to Prevent Cross-Site Scripting Attacks on Current Web Applications
A Survey on Detection Techniques to Prevent Cross-Site Scripting Attacks on Current Web Applications Joaquin Garcia-Alfaro 1 and Guillermo Navarro-Arribas 2 1 Universitat Oberta de Catalunya, Rambla Poble
Why Web Applications are making a hackers life easy. Presented by Jon Grew BT SBS
Why Web Applications are making a hackers life easy. Presented by Jon Grew BT SBS Acknowledgements Ed Barlow Technical Director EMEA Ed sends his apologies. The following presentation is based on the talk
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
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
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 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
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
A DYNAMIC TOOL FOR DETECTION OF XSS ATTACKS IN A REAL-TIME ENVIRONMENT
A DYNAMIC TOOL FOR DETECTION OF XSS ATTACKS IN A REAL-TIME ENVIRONMENT K. G. Maheswari 1 and R. Anita 2 1 Department of MCA, Institute of Road and Transport Technology, Anna University, Erode, Tamil Nadu,
Detection of SQL Injection Attack in Web Applications using Web Services
IOSR Journal of Computer Engineering (IOSRJCE) ISSN : 2278-0661 Volume 1, Issue 5 (May-June 2012), PP 13-20 Detection of SQL Injection Attack in Web Applications using Web Services 1V.Shanmughaneethi 2
