Bayesian Classification for SQL Injection Detection
|
|
|
- Robyn Cummings
- 10 years ago
- Views:
Transcription
1 Bayesian Classification for SQL Injection Detection Brandon Skari College of Engineering and Applied Science University of Wyoming Laramie, Wyoming April 6, 2011
2 Overview SQL Injection Types of attacks Prevention techniques SQLassie Brandon Skari (UWyo) Bayesian Classification April / 34
3 Dynamic web sites Change based on user interaction Web mail Online stores Search engines Social networks Banking sites All of the top 10 most popular[1] websites are dynamic Brandon Skari (UWyo) Bayesian Classification April / 34
4 SQL Injection Injection attacks are one of the foremost threats facing dynamic web applications[23, 13, 24, 5] Allow attackers to: Access, modify and delete data Bypass authentication Denial of service Compromise the server Brandon Skari (UWyo) Bayesian Classification April / 34
5 Queries Queries usually come in 4 types: Select Insert Update Delete A typical query may look like the following[6]: SELECT name FROM U s e r s WHERE name = Brandon AND password = 1234 Brandon Skari (UWyo) Bayesian Classification April / 34
6 Queries Brandon Skari (UWyo) Bayesian Classification April / 34
7 Queries A developer has written: SELECT name FROM U s e r s WHERE name = $name AND password = $password What happens when the user enters the following for the username? name = The query is run as the following: SELECT name FROM U s e r s WHERE name = AND password = Brandon Skari (UWyo) Bayesian Classification April / 34
8 Types of attacks Halfond[13] classified attacks based on their intention Identifying injectable parameters Performing database fingerprinting Determining database schema Adding or modifying data Denial of service Accessing data Avoiding detection Bypassing authentication Executing remote commands Performing privilege escalation Brandon Skari (UWyo) Bayesian Classification April / 34
9 Attack techniques There are a number of techniques that attackers use to attack a database[6, 13, 20, 21] Multiple queries Unions Invalid queries Tautologies Inference Detection evasion Second order attacks Brandon Skari (UWyo) Bayesian Classification April / 34
10 Multiple queries The easiest attacks to implement SQL allows multiple queries to be run in sequence, if they are separated by semicolons Attackers can run essentially query, allowing full access to the database Most database engines include special commands to access files or other information from the operating system Some frameworks disallow multiple queries Brandon Skari (UWyo) Bayesian Classification April / 34
11 Multiple queries SELECT name FROM U s e r s WHERE name = $name AND password = $password What if the user enters: ; DROP TABLE U s e r s The query is run as: SELECT name FROM U s e r s WHERE name = ; DROP TABLE Users -- AND password = Brandon Skari (UWyo) Bayesian Classification April / 34
12 Unions Normal SELECT commands retrieve a number of rows from a database UNION can be used to append data from other tables and even from unrelated applications This can expose data that would normally be inaccessible Brandon Skari (UWyo) Bayesian Classification April / 34
13 Unions SELECT name FROM U s e r s WHERE name = $name AND password = $password What if the user enters: UNION SELECT Admin The query is run as SELECT name FROM U s e r s WHERE name = UNION SELECT Admin -- AND password = Brandon Skari (UWyo) Bayesian Classification April / 34
14 Unions SELECT a. f o r u m i d, a. a u t h v i e w, a. auth mod FROM p h p b b a u t h a c c e s s a, p h p b b u s e r g r o u p ug WHERE ug. u s e r i d = $ i d AND ug. u s e r p e n d i n g = 0 AND a. g r o u p i d = ug. g r o u p i d What if the user enters the following: 0 UNION SELECT TABLE SCHEMA, TABLE NAME, COLUMN NAME FROM i n f o r m a t i o n s c h e m a.columns This would return the database name, table name, and column name of everything that s stored in the database engine. wiki - Users - name wiki - Users - password store - Customer - creditcardnumber Brandon Skari (UWyo) Bayesian Classification April / 34
15 Invalid queries When presented with an invalid query, most database engines will provide detailed information that can aid in debugging Attackers can use this information to determine: Database vendor and version Operating system Data types Schema information Most databases are configured by default to run in developer mode You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near AND password = Brandon Skari (UWyo) Bayesian Classification April / 34
16 Tautologies Tautology attacks work by modifying conditionals to make the statement always true Either remove conditionals or add new conditionals SELECT name FROM U s e r s WHERE name = $name AND password = $password SELECT name FROM U s e r s WHERE name = Brandon OR 1 = 1 AND password = Brandon Skari (UWyo) Bayesian Classification April / 34
17 Inference Applications that are in production typically disable debugging to the point that if attacks succeed, no usable feedback is provided Used against mysql.com on March Normal blind attacks Cannot see error messages but can see the results of modified queries Use IF statements to selectively change a value to infer information Totally blind attacks Attackers get no visual feedback Use statements that selectively slow a query to infer information SELECT name FROM U s e r s WHERE name = Brandon AND IF((SELECT SUBSTR(password, 0, 1) FROM Users WHERE name = admin ) < ASCII( L ), 1, 0) -- AND password = Brandon Skari (UWyo) Bayesian Classification April / 34
18 Detection evasion Many intrusion detection systems rely on string comparisons or check for illegal characters Detection evasion tries to evade these detection patterns Build strings using concatenation, insertion, substring Build strings from hashes or constant string function MySQL lets you specify strings in hex: 0x E646F6E Functions to encode numbers to ASCII characters Brandon Skari (UWyo) Bayesian Classification April / 34
19 Second order attacks All of the attacks shown thus far have taken input directly from the an attacker and used it to modify queries Second order attacks work by inserting data into a database and then retrieving it later and using it in attacks These are much more difficult to predict because the database and previous results are usually considered a safe source All data that could have ever originated from a user need to be sanitized every time it s used in a query Brandon Skari (UWyo) Bayesian Classification April / 34
20 Second order attacks Searching for posts by users whose name matches a particular pattern SELECT username FROM p h p b b u s e r s WHERE username LIKE $ r e g e x SELECT p o s t i d, post name FROM p h p b b p o s t s WHERE username = What if a user registers the following username? f a k e UNION SELECT username, u s e r p a s s w o r d FROM p h p b b u s e r s Brandon Skari (UWyo) Bayesian Classification April / 34
21 Prevention So what can you, as a developer, do to prevent injection?[13] Sanitize input Parameterizing input Input type checking Positive pattern matching The problem with all these techniques is that they must be applied consistently by hand Restrict privileges to minimize potential damage Brandon Skari (UWyo) Bayesian Classification April / 34
22 Input sanitization $ c o n n e c t i o n = new m y s q l i ( , Brandon, 1234, w i k i ) ; $name = $ POST [ name ] ; $password = $ POST [ password ] ; $query = SELECT name FROM U s e r s WHERE name = $name AND password = $password ; $ r e s u l t = $ c o n n e c t i o n >q u e r y ( $query ) o r d i e ( $ c o n n e c t i o n >c o n n e c t e r r o r ( ) ) ; So what happens when the user enters: Brandon ; DROP TABLE Users -- The problem is that single quote changes the meaning of the query. By escaping that quote, we can remove its significance. $name = $ c o n n e c t i o n >m y s q l r e a l e s c a p e s t r i n g ( $ POST [ name ] ) ; $password = $ c o n n e c t i o n >m y s q l r e a l e s c a p e s t r i n g ( $ POST [ password ] ) ; Now, name will be set to Brandon \ ; DROP TABLE Users -- This must be done every time you use values that originated from a user! Brandon Skari (UWyo) Bayesian Classification April / 34
23 Input sanitization Unfortunately, you have to do more than just escape strings! SQL lets you leave numeric constants unquoted, so this is ok: SELECT username FROM Users WHERE id = 5 What happens if we do this with PHP? $ i d = $ c o n n e c t i o n >m y s q l r e a l e s c a p e s t r i n g ( $ POST [ i d ] ) ; $ query = SELECT username FROM U s e r s WHERE i d = $ i d ; $ r e s u l t = $ c o n n e c t i o n >q u e r y ( $query ) ; What if the user enters: 5 ; DROP TABLE Users When this string is escaped, it is not changed! Always quote your variables inside of queries $ query = SELECT username FROM U s e r s WHERE u s e r i d = $ i d ; The database will either ignore the second part or give an error Brandon Skari (UWyo) Bayesian Classification April / 34
24 Input sanitization User input can come from unexpected places[19] HTTP POST requests and GET requests Hidden fields HTTP headers (referrer, user-agent, etc.) Cookies In PHP, arrays are stored as key-value pairs: id 1, The extract function moves an array s key-value pairs into variable scope e x t r a c t ( $ POST ) ; is equivalent to $ i d = $ POST [ i d ] ; $ e m a i l = $ POST [ e m a i l ] ; $newpassword = ; f o r ( $ i = 0 ; $ i < 8 ; $ i ++) $newpassword.= chr ( rand ( 9 7, 122) ) ; e x t r a c t ( $ POST ) ; $connect >q u e r y ( UPDATE u s e r s SET password = $newpassword WHERE i d = $ i d ) ; Brandon Skari (UWyo) Bayesian Classification April / 34
25 Parameterizing input Easiest, most reliable way to prevent injection attacks Queries are prepared with placeholders where data will go User input is bound and sent to the database separately The database treats input as values so there is no possibility of injection Parameterized queries are slower than dynamically built ones Brandon Skari (UWyo) Bayesian Classification April / 34
26 Parameterizing input In PHP, when you bind a parameter, you have to specify its type i integer d double s string b binary blob $ c o n n e c t i o n = new m y s q l i ( , Brandon, 1234, w i k i ) ; $ i d = $ POST [ i d ] ; $ t o p i c = $ POST [ t o p i c ] ; $stmt = $ c o n n e c t i o n >p r e p a r e ( SELECT postcount FROM p o s t s WHERE u s e r i d =? AND t o p i c =? ) ; $stmt >bind param ( i s, $id, $ t o p i c ) ; $stmt >e x e c u t e ( ) ; $stmt >c l o s e ( ) ; Brandon Skari (UWyo) Bayesian Classification April / 34
27 Input type checking $ i d = $ c o n n e c t i o n >m y s q l r e a l e s c a p e s t r i n g ( $ POST [ i d ] ) ; $ query = SELECT username FROM U s e r s WHERE i d = $ i d ; $ r e s u l t = $ c o n n e c t i o n >q u e r y ( $query ) ; An attacker could enter: 5 ; DROP TABLE USERS -- What if you just typecast as you receive it from the user? $ i d = ( i n t ) $ POST [ i d ] ; Your framework will either reject the input, or ignore the bad part No injection is possible through integers! Brandon Skari (UWyo) Bayesian Classification April / 34
28 Positive pattern matching It s difficult to predict all the bad things that an attacker can do It s easy to predict what kinds of things are normal Use regular expressions to match what is expected i f (1 == preg match ( ˆ\w+$, $name ) ) Brandon Skari (UWyo) Bayesian Classification April / 34
29 Black box testing Black box testing tests an application without examining source code SQL Inject Me[25] WAVES[15] SQLiX[7] HP WebInspect[14] IBM Rational AppScan[16] Black box testing is limited by its list of prebuilt attacks Will probably not find second order attacks Brandon Skari (UWyo) Bayesian Classification April / 34
30 Static analysis Analyzes the source code for problems No runtime overhead JDBC checker[8] LAPSE[19] PHP-Checker[27] Pixy[17] Source code is not always available Can present false positives because they can t determine if a source is safe[27] Fixing the source can be difficult Brandon Skari (UWyo) Bayesian Classification April / 34
31 Static and dynamic analysis Source code is analyzed and then queries are monitored at runtime A model of normal queries is built and queries that don t match are rejected AMNESIA[11] DFA web filter[22] Source code is not always available Fixing the source can be difficult If queries are not identified during the static analysis, there will be false positives Brandon Skari (UWyo) Bayesian Classification April / 34
32 Taint tracking User input is marked as tainted as it enters an application Tainted data are tracked Queries that are generated using input are checked to make sure that tainted data do not modify the query SQLGuard[4] Java String class[10] WASP[12] SQLrand[3] CANDID[2] Metacharacter tracking[26] Hamming distance[18] Ignore second order attacks False sense of security Brandon Skari (UWyo) Bayesian Classification April / 34
33 Blacklisting Reject queries based on certain features Effectiveness is proportional to the sophistication of the detection technique Doesn t require access to source code Requires no interaction from the user or modification of code GreenSQL[9] SQLassie Blacklists must be updated to deal with new attacks Runtime overhead Best used when writing an application Brandon Skari (UWyo) Bayesian Classification April / 34
34 Permissions MySQL lets you define permissions on a per user/host basis Each user/host combination can have a separate password and permission set Most web applications shouldn t need to DROP TABLES, so remove those permissions Give each application a separate account and only give that user access to one particular database Make sure the passwords are strong! Limit connections to machines you trust Brandon Skari (UWyo) Bayesian Classification April / 34
35 [1] Alexa. Alexa top 500 global sites. December [2] Bandhakavi, S., Bisht, P., Madhusudan, P., and Venkatakrishnan, V. N. CANDID: preventing SQL injection attacks using dynamic candidate evaluations. In CCS 07: Proceedings of the 14th ACM conference on Computer and communications security (New York, NY, USA, 2007), ACM, pp [3] Boyd, S. W., and Keromytis, A. D. SQLrand: Preventing SQL injection attacks. In In Proceedings of the 2nd Applied Cryptography and Network Security (ACNS) Conference (2004), pp [4] Buehrer, G., Weide, B. W., and Sivilotti, P. A. G. Using parse tree validation to prevent SQL injection attacks. Brandon Skari (UWyo) Bayesian Classification April / 34
36 In Proceedings of the 5th international workshop on Software engineering and middleware (New York, NY, USA, 2005), SEM 05, ACM, pp [5] Christey, S., and Martin, R. A. CVE - vulnerability type distributions in CVE. May [6] Clarke, J. SQL Injection Attacks and Defense, first ed. Syngrass, May [7] Cochin, C. SQLiX project. OWASP_SQLiX_Project, August [8] Gould, C., Su, Z., and Devanbu, P. JDBC checker: a static analysis tool for SQL/JDBC applications. In Software Engineering, ICSE Proceedings. 26th International Conference on (May 2004), pp Brandon Skari (UWyo) Bayesian Classification April / 34
37 [9] GreenSQL. GreenSQL open source SQL database security, SQL injection prevention. December [10] Haldar, V., Chandra, D., and Franz, M. Dynamic taint propagation for Java. In In Proceedings of the 21st Annual Computer Security Applications Conference (2005), pp [11] Halfond, W. G. J., and Orso, A. Combining static analysis and runtime monitoring to counter SQL-injection attacks. In Proceedings of the third international workshop on Dynamic analysis (New York, NY, USA, 2005), WODA 05, ACM, pp [12] Halfond, W. G. J., Orso, A., and Manolios, P. Using positive tainting and syntax-aware evaluation to counter SQL injection attacks. Brandon Skari (UWyo) Bayesian Classification April / 34
38 In Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering (New York, NY, USA, 2006), SIGSOFT 06/FSE-14, ACM, pp [13] Halfond, W. G. J., Viegas, J., and Orso, A. A classification of SQL-injection attacks and countermeasures. In Proc. of the International Symposium on Secure Software Engineering (2006). [14] Hewlett Packard. HP WebInspect Software. December [15] Huang, Y.-W., Huang, S.-K., Lin, T.-P., and Tsai, C.-H. Web application security assessment by fault injection and behavior monitoring. In Proceedings of the 12th international conference on World Wide Web (New York, NY, USA, 2003), WWW 03, ACM, pp [16] IBM. IBM software - AppScan product line. Brandon Skari (UWyo) Bayesian Classification April / 34
39 December [17] Jovanovic, N. Pixy: XSS and SQLI scanner for PHP. July [18] Liu, A., Yuan, Y., Wijesekera, D., and Stavrou, A. SQLProb: a proxy-based architecture towards preventing SQL injection attacks. In Proceedings of the 2009 ACM symposium on Applied Computing (New York, NY, USA, 2009), SAC 09, ACM, pp [19] Livshits, V. B., and Lam, M. S. Finding security vulnerabilities in Java applications with static analysis. In Proceedings of the 14th conference on USENIX Security Symposium - Volume 14 (Berkeley, CA, USA, 2005), USENIX Association, pp [20] Mackay, C. A. Brandon Skari (UWyo) Bayesian Classification April / 34
40 SQL injection attacks and some tips on how to prevent them. SqlInjectionAttacks.aspx, January [21] Mavituna, F. SQL injection cheat sheet. http: //ferruh.mavituna.com/sql-injection-cheatsheet-oku, March [22] Muthuprasanna, M., Wei, K., and Kothari, S. Eliminating SQL injection attacks - a transparent defense mechanism. In Web Site Evolution, WSE 06. Eighth IEEE International Symposium on (2006), pp [23] OWASP. Open web application security project (OWASP) top ten project. OWASP_Top_Ten_Project, December Brandon Skari (UWyo) Bayesian Classification April / 34
41 [24] SANS Institute. SANS: The top cyber security risks. September [25] SecCom. SQL inject me sql-inject-me/, May [26] Su, Z., and Wasserman, G. The essence of command injection attacks in web applications. ACM Press, pp [27] Xie, Y., and Aiken, A. Static detection of security vulnerabilities in scripting languages. In Proceedings of the 15th conference on USENIX Security Symposium - Volume 15 (Berkeley, CA, USA, 2006), USENIX Association. Brandon Skari (UWyo) Bayesian Classification April / 34
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
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,
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],
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
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
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
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
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
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
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
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
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
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,
Classification of SQL Injection Attacks
Classification of SQL Injection Attacks San-Tsai Sun, Ting Han Wei, Stephen Liu, Sheung Lau Electrical and Computer Engineering, University of British Columbia {santsais,tinghanw,stephenl,sheungl}@ece.ubc.ca
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
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
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
Sania: Syntactic and Semantic Analysis for Automated Testing against SQL Injection
Sania: Syntactic and Semantic Analysis for Automated Testing against SQL Injection Yuji Kosuga, Kenji Kono, Miyuki Hanaoka Department of Information and Computer Science Keio University 3-14-1 Hiyoshi
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
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
Automated Detection System for SQL Injection Attack
Automated Detection System for SQL Injection Attack Dr K.V.N.Sunitha Professor &Head, Department of Computer Science & Engineering, G.Narayanamma Institute of Technology and Science Shaikpet, Hyderabad
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
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
Security Test s i t ng Eileen Donlon CMSC 737 Spring 2008
Security Testing Eileen Donlon CMSC 737 Spring 2008 Testing for Security Functional tests Testing that role based security functions correctly Vulnerability scanning and penetration tests Testing whether
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
Using Parse Tree Validation to Prevent SQL Injection Attacks
Using Parse Tree Validation to Prevent SQL Injection Attacks Gregory T. Buehrer, Bruce W. Weide, and Paolo A. G. Sivilotti Email: {buehrer,weide,paolo}@cse.ohio-state.edu Computer Science and Engineering
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à
SQL Injection Attack Lab
Laboratory for Computer Security Education 1 SQL Injection Attack Lab Copyright c 2006-2010 Wenliang Du, Syracuse University. The development of this document is funded by the National Science Foundation
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]
Serious Threat. Targets for Attack. Characterization of Attack. SQL Injection 4/9/2010 COMP620 1. On August 17, 2009, the United States Justice
Serious Threat SQL Injection COMP620 On August 17, 2009, the United States Justice Department tcharged an American citizen Albert Gonzalez and two unnamed Russians with the theft of 130 million credit
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
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
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
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
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
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
BLIND SQL INJECTION (UBC)
WaveFront Consulting Group BLIND SQL INJECTION (UBC) Rui Pereira,B.Sc.(Hons),CISSP,CIPS ISP,CISA,CWNA,CPTS/CPTE WaveFront Consulting Group Ltd [email protected] www.wavefrontcg.com 1 This material
Cyber Security Challenge Australia 2014
Cyber Security Challenge Australia 2014 www.cyberchallenge.com.au CySCA2014 Web Penetration Testing Writeup Background: Pentest the web server that is hosted in the environment at www.fortcerts.cysca Web
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
Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011 Agenda Evolving Threats Operating System Application User Generated Content JPL s Application Security Program Securing
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
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
SQL Injection Attack Lab Using Collabtive
Laboratory for Computer Security Education 1 SQL Injection Attack Lab Using Collabtive (Web Application: Collabtive) Copyright c 2006-2011 Wenliang Du, Syracuse University. The development of this document
SQL injection: Not only AND 1=1. The OWASP Foundation. Bernardo Damele A. G. Penetration Tester Portcullis Computer Security Ltd
SQL injection: Not only AND 1=1 Bernardo Damele A. G. Penetration Tester Portcullis Computer Security Ltd [email protected] +44 7788962949 Copyright Bernardo Damele Assumpcao Guimaraes Permission
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
Web Application Security
E-SPIN PROFESSIONAL BOOK Vulnerability Management Web Application Security ALL THE PRACTICAL KNOW HOW AND HOW TO RELATED TO THE SUBJECT MATTERS. COMBATING THE WEB VULNERABILITY THREAT Editor s Summary
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]
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
Approaches to detect SQL injection and XSS in web applications
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 [email protected]
Advanced PostgreSQL SQL Injection and Filter Bypass Techniques
Advanced PostgreSQL SQL Injection and Filter Bypass Techniques INFIGO-TD TD-200 2009-04 2009-06 06-17 Leon Juranić [email protected] INFIGO IS. All rights reserved. This document contains information
ASL IT SECURITY BEGINNERS WEB HACKING AND EXPLOITATION
ASL IT SECURITY BEGINNERS WEB HACKING AND EXPLOITATION V 2.0 A S L I T S e c u r i t y P v t L t d. Page 1 Overview: Learn the various attacks like sql injections, cross site scripting, command execution
Using Parse Tree Validation to Prevent SQL Injection Attacks
Using Parse Tree Validation to Prevent SQL Injection Attacks Gregory T. Buehrer, Bruce W. Weide, and Paolo A. G. Sivilotti Computer Science and Engineering The Ohio State University Columbus, OH 43210
Baseline: Metrics for setting a baseline for web vulnerability scanners
Baseline: Metrics for setting a baseline for web vulnerability scanners Huning Dai, Michael Glass, and Gail Kaiser Department of Computer Science, Columbia University, New York, NY 10027 USA {dai,mgg2102,kaiser}@cs.columbia.com
SQL Injection Vulnerabilities in Desktop Applications
Vulnerabilities in Desktop Applications Derek Ditch (lead) Dylan McDonald Justin Miller Missouri University of Science & Technology Computer Science Department April 29, 2008 Vulnerabilities in Desktop
Web Forensic Evidence of SQL Injection Analysis
International Journal of Science and Engineering Vol.5 No.1(2015):157-162 157 Web Forensic Evidence of SQL Injection Analysis 針 對 SQL Injection 攻 擊 鑑 識 之 分 析 Chinyang Henry Tseng 1 National Taipei University
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
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
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]
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
SQL Injection Attacks: Detection in a Web Application Environment
SQL Injection Attacks: Detection in a Web Application Environment Table of Contents 1 Foreword... 1 2 Background... 3 2.1 Web Application Environment... 3 2.2 SQL Attack Overview... 3 2.3 Applications
Ficha técnica de curso Código: IFCPR140c. SQL Injection Attacks and Defense
Curso de: Objetivos: SQL Injection Attacks and Defense Proteger nuestra B.D. y prevenir los ataques, realizando una buena defensa. Mostrar los pasos y pautas a seguir para hacer nuestro sistema mas robusto
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 Application Attacks And WAF Evasion
Web Application Attacks And WAF Evasion Ahmed ALaa (EG-CERT) 19 March 2013 What Are We Going To Talk About? - introduction to web attacks - OWASP organization - OWASP frameworks - Crawling & info. gathering
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
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
Agenda. SQL Injection Impact in the Real World. 8.1. Attack Scenario (1) CHAPTER 8 SQL Injection
Agenda CHAPTER 8 SQL Injection Slides adapted from "Foundations of Security: What Every Programmer Needs To Know" by Neil Daswani, Christoph Kern, and Anita Kesavan (ISBN 1590597842; http://www.foundationsofsecurity.com).
White Paper. Blindfolded SQL Injection
White Paper In the past few years, SQL Injection attacks have been on the rise. The increase in the number of Database based applications, combined with various publications that explain the problem and
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
1. Building Testing Environment
The Practice of Web Application Penetration Testing 1. Building Testing Environment Intrusion of websites is illegal in many countries, so you cannot take other s web sites as your testing target. First,
White Paper BMC Remedy Action Request System Security
White Paper BMC Remedy Action Request System Security June 2008 www.bmc.com Contacting BMC Software You can access the BMC Software website at http://www.bmc.com. From this website, you can obtain information
Manipulating Microsoft SQL Server Using SQL Injection
Manipulating Microsoft SQL Server Using SQL Injection Author: Cesar Cerrudo ([email protected]) APPLICATION SECURITY, INC. WEB: E-MAIL: [email protected] TEL: 1-866-9APPSEC 1-212-947-8787 INTRODUCTION
Detecting (and even preventing) SQL Injection Using the Percona Toolkit and Noinject!
Detecting (and even preventing) SQL Injection Using the Percona Toolkit and Noinject! Justin Swanhart Percona Live, April 2013 INTRODUCTION 2 Introduction 3 Who am I? What do I do? Why am I here? The tools
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
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
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,
<Insert Picture Here> Oracle Web Cache 11g Overview
Oracle Web Cache 11g Overview Oracle Web Cache Oracle Web Cache is a secure reverse proxy cache and a compression engine deployed between Browser and HTTP server Browser and Content
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
On the Property of the Distribution of Symbols in SQL Injection Attack
On the Property of the Distribution of Symbols in SQL Injection Attack Takeshi Matsuda Department of Computer Science Shizuoka Institute of Science and Technology Abstract SQL injection is an attack of
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
Automating SQL Injection Exploits
Automating SQL Injection Exploits Mike Shema IT Underground, Berlin 2006 Overview SQL injection vulnerabilities are pretty easy to detect. The true impact of a vulnerability is measured
Token Sequencing Approach to Prevent SQL Injection Attacks
IOSR Journal of Computer Engineering (IOSRJCE) ISSN : 2278-0661 Volume 1, Issue 1 (May-June 2012), PP 31-37 Token Sequencing Approach to Prevent SQL Injection Attacks ManveenKaur 1,Arun Prakash Agrawal
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
SQL Injection. SQL Injection. CSCI 4971 Secure Software Principles. Rensselaer Polytechnic Institute. Spring 2010 ...
SQL Injection CSCI 4971 Secure Software Principles Rensselaer Polytechnic Institute Spring 2010 A Beginner s Example A hypothetical web application $result = mysql_query(
SQL Injection. By Artem Kazanstev, ITSO and Alex Beutel, Student
SQL Injection By Artem Kazanstev, ITSO and Alex Beutel, Student SANS Priority No 2 As of September 2009, Web application vulnerabilities such as SQL injection and Cross-Site Scripting flaws in open-source
Blindfolded SQL Injection. Written By: Ofer Maor Amichai Shulman
Blindfolded SQL Injection Written By: Ofer Maor Amichai Shulman Table of Contents Overview...3 Identifying Injections...5 Recognizing Errors...5 Locating Errors...6 Identifying SQL Injection Vulnerable
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
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.
Conducting Web Application Pentests. From Scoping to Report For Education Purposes Only
Conducting Web Application Pentests From Scoping to Report For Education Purposes Only Web App Pen Tests According to OWASP: A Web Application Penetration Test focuses only on evaluating the security of
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
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
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
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
Passing PCI Compliance How to Address the Application Security Mandates
Passing PCI Compliance How to Address the Application Security Mandates The Payment Card Industry Data Security Standards includes several requirements that mandate security at the application layer. These
On Preventing SQL Injection Attacks
On Preventing SQL Injection Attacks Bharat Kumar Ahuja, Angshuman Jana, Ankit Swarnkar, and Raju Halder Indian Institute of Technology Patna, India {bharat.cs10, ajana.pcs13, ankitswarnkar.cs10, halder}@iitp.ac.in
