OWASP Enterprise Security API (ESAPI)

Size: px
Start display at page:

Download "OWASP Enterprise Security API (ESAPI)"

Transcription

1 OWASP Enterprise Security API (ESAPI) Zehra Saadet Öztürk Oksijen ARGE 9 Haziran June 2012

2 ESAPI nedir? > Web uygulamaları için güvenlik kontrol kütüphanesi > Güvenlik problemlerini gidermek için arayüzleri sağlar > Java,.Net, ASP, PHP, Phyton, Javascript,C, CPP sürümleri vardır > Ücretsiz, açık kaynak kodlu > BSD lisanslı 2 12 June 2012

3 Authenticator User AccessController AccessReferenceMap Validator Encoder HTTPUtilities Encryptor EncryptedProperties Randomizer Exception Handling Logger IntrusionDetector SecurityConfiguration ESAPI Custom Enterprise Web Application Enterprise Security API Existing Enterprise Security Services/Libraries 3 12 June 2012

4 ESAPI Girdi Doğrulama > White List Validation > Canonicalize > Intrusion Detection > Örnek metodlar > getvalidsafehtml > getvaliddate > getvalidnumber > getvalidfilecontent > getvalidfilename > getvalidcreditcard > isvalidfileupload > isvalidhttprequestparameterset 12 June 2012

5 ESAPI Girdi Doğrulama < Percent Encoding %3c %3C HTML Entity Encoding &#60 &#060 &#0060 &#00060 &# &# < < < < < < &#x3c &#x03c &#x003c &#x0003c &#x00003c &#x000003c < < < < < < &#X3c &#X03c &#X003c &#X0003c &#X00003c &#X000003c < < < < < < &#x3c &#x03c &#x003c &#x0003c &#x00003c &#x000003c < < < < < < &#X3C &#X03C &#X003C &#X0003C &#X00003C &#X000003C < < < < < < &lt &lt &Lt &LT < &lt; &Lt; &LT; JavaScript Escape \< \x3c \X3c \u003c \U003c \x3c \X3C \u003c \U003C CSS Escape \3c \03c \003c \0003c \00003c \3C \03C \003C \0003C \00003C Overlong UTF-8 %c0%bc %e0%80%bc %f0%80%80%bc %f8%80%80%80%bc %fc%80%80%80%80 %bc US-ASCII ¼ UTF-7 +ADw- Punycode <- 12 June 2012

6 ESAPI Girdi Doğrulama > getvalidinput > validation.properties > Validator.MSISDN=^(9054[0-9]{8} 9050[0-9]{8} 9053[0-9]{8} 9055[0-9]{8})$ > Validator.employeeID=^([A-Za-z0-9]{20,50})$ MyValidator +isvalidinput() +...() +isvalidemployeeid() Your implementation (has additional and/or perhaps changed functions compared to reference implementation) ESAPI interface «interface» Validator +isvalidinput() +...() May also be modified DefaultValidator +isvalidinput() +...() ESAPI reference implementation (does not include a isvalidemployeeid function) 12 June 2012

7 ESAPI Girdi Doğrulama - Örnek try { String cleanmarkup = ESAPI.validator().getValidSafeHTML( "htmlinput", htmlinput, 1000, true); String cleanmsisdn = ESAPI.validator().getValidInput( "msisdn:"+msisdninput, msisdninput, "MSISDN", 12, false); String cleanpassword = ESAPI.validator().getValidInput( "pwd:" + pwdinput, pwdinput, "pwdwhitelist", 15, true); } catch (ValidationException e) { logger.error("[validation Failed]" + e.getmessage()); } catch (IntrusionException e) { logger.error("[intrusion] " + e.getmessage()); } 12 June 2012

8 ESAPI Çıktı Kodlama (Output Encoding) > Çıktı Kodlaması yaparken... > Hedef Yorumlayıcı & doğru kodlama metodu > Hangi karakterler? > Double encoding! > encodeforjavascript(string input) > encodeforhtml(string input) > encodeforcss(string input) > encodeforldap(string input) > encodeforxpath(string input) > encodeforxml(string input) > String canonicalize(string input) 12 June 2012

9 ESAPI Çıktı kodlama Örnek: XSS Rule #0 : Never Insert Untrusted Data Except Allowed Locations Rule #1: HTML escape in HTML Element Content ESAPI.encoder.encodeForHTML(input) Rule #2: Atribute escape in HTML Common Attributes ESAPI.encoder.encodeForHTMLAttribute(input) Rule #3: Javascript Escape in HTML Javascript Data Values ESAPI.encoder.encodeForJavaScript(input) Rule #4: CSS Escape HTML Style Property Values ESAPI.encoder.encodeForCSS(input) Rule #5: URL Escape HTML URL Attributes ESAPI.encoder.encodeForURL(input) 12 June 2012

10 ESAPI Çıktı kodlama XSS <script> x=<%=request.getparameter( "input")%> </script> <Table> <TR> <TD>Full Name:</TD> <TD><%=user.getFirstName()%> <%=user.getlastname()%></td> <TD> <a href= sendmessage?userid= <%=user.getid()%> >Send Message</a> </TD> <script> x=<%=esapi.encoder().encodeforjavascript( request.getparameter( "input"))%> </script> <Table><TR> <TD> Full Name:</TD> <TD> <%=ESAPI.encodeForHTML( user.getfirstname())%> <%= ESAPI.encodeForHTML( user.getlastname())%></td> <TD><a href= sendmessage?userid= <%=ESAPI.encoder().encodeFor URL(user.getId()%>) >Send Message</a> </TD> 12 June 2012

11 ESAPI Kodlama Örnek: SQL Injection > encodeforsql tavsiye edilmeyen bir yöntem > Asıl yapılması gereken PreparedStatement kullanmak String query = "SELECT account_balance FROM user_data WHERE user_name = " + request.getparameter("customername"); String query = "SELECT account_balance FROM user_data WHERE user_name = " + ESAPI.encoder().encodeForSQL(new OracleCodec(),request.getParameter("customerName")); June 2012

12 Kullanıcı Doğrulama (Authentication) > ESAPI.properties ESAPI.Authenticator=org.owasp.esapi.reference.FileBasedAuthenticator ESAPI.Authenticator=com.vodafone.myapp.auth.MyAuthenticator MyAuthenticator +login() +...() Your implementation (has the same functions as reference implementation) ESAPI interface «interface» Authenticator +login() +...() DefaultAuthenticator +login() +...() ESAPI reference implementation June 2012

13 Kullanıcı Doğrulama (Authentication) > Kullanıcı yaratma Kullanıcı adı ve şifre güçlülüğünü sınama Password hash (sha2 hash & username salt ) User user = ESAPI.authenticator().createUser("saadet", "Password1?", "Password1?"); June 2012

14 Kullanıcı Doğrulama (Authentication) > Login Ip değişikliği yakalama Session Id değiştirilmesi Fazla denemede hesap kilitleme Beni hatırla not POST, non-ssl User user = ESAPI.authenticator().login(httpServletRequest, httpservletresponse); June 2012

15 Kullanıcı Doğrulama (Authentication) ESAPI.authenticator().getUser("saadet").lock(); ESAPI.authenticator().getUser("saadet").disable(); ESAPI.authenticator().verifyPasswordStrength("oldP assword", "newpassword", ESAPI.authenticator().getUser("saadet")); June 2012

16 Erişim Kontrolleri (Access Control) > assertauthorizedforurl(java.lang.string url) > assertauthorizedforfunction(java.lang.string functionname) > assertauthorizedforservice(java.lang.string servicename) > Indirect Object reference RandomAccessReferenceMap June 2012

17 Erişim Kontrolleri (Access Control) URLAccessRules.txt /MyApp/userList.action any allow /MyApp/userEdit.action admin allow /MyApp/userDelete.action standart deny try { ESAPI.accessController().assertAuthorizedForURL( request.getrequesturi()); return actioninvocation.invoke(); } catch (AccessControlException e) { logger.info(null, "[AuthorizationInterceptor] User is not authorized for url:" + request.getrequesturi()); } return AUTH_FAILURE; June 2012

18 ESAPI ve CSRF( Cross Site Request Forgery) > Linke CSRF token ekleme > <a href='<%=esapi.httputilities().addcsrftoken( /myapp )%> ' target="_blank">transfer Funds</a> > Linke tıklandığında CSRF token doğrulama try { ESAPI.httpUtilities().verifyCSRFToken(); logger.debug("csrf Token Validated "); } catch (IntrusionException e) { } logger.fatal(logger.security_failure, "[Intrusion] CSRF Token Not Validated "+e.getlogmessage()); return e.getusermessage(); June 2012

19 Oturum Yönetimi > Oturum Sabitleme (Session Fixation) Zaafiyeti > Oturum anahtarının saldırgan tarafından kullanıcıya kabul ettirilmesi > ESAPI.httpUtilities().changeSessionIdentifier() June 2012

20 ESAPI Kriptorafi Encryptor Interface > String hash(string plaintext, String salt) (sha-2) > CipherText encrypt(secretkey key, PlainText plain) > CipherText encrypt(plaintext plain) ( Masterkey in ESAPI.prop) > PlainText decrypt(ciphertext ciphertext) > PlainText decrypt(secretkey key, CipherText ciphertext) > String seal(java.lang.string data, long timestamp) > String unseal(java.lang.string seal) > boolean verifyseal(java.lang.string seal) 20 ESAPI 12 June 2012

21 ESAPI Kriptorafi Randomizer Interface > boolean getrandomboolean() > String getrandomfilename(string extension) > String getrandomguid() > int getrandominteger(int min, int max) > long getrandomlong() > loat getrandomreal(float min, float max) > String getrandomstring(int length, char[] characterset) June 2012

22 ESAPI Loglama > Etiketleme mekanizması: SECURITY_SUCCESS, SECURITY_FAILURE, EVENT_SUCCESS, EVENT_FAILURE > Encode CRLF > Encode HTML characters > Log4JLogFactory, JavaLogFactory private static final Logger logger = ESAPI.getLogger(TransferFunds.class); logger.fatal(logger.security_failure, "[Intrusion] CSRF Token Not Validated "+e.getlogmessage()); June 2012

23 ESAPI HTTP Utilities > ESAPI.httpUtilities().setNoCacheHeaders() > Reader.readLine() -> Validator.safeReadLine() > Math.Random.* -> Randomizer.* > ServletResponse.setContentType() -> HTTPUtilities.setContentType() > ServletResponse.sendRedirect() -> HTTPUtilities.sendSafeRedirect() > RequestDispatcher.forward() -> HTTPUtilities.sendSafeForward() > ServletResponse.addHeader() -> HTTPUtilities.addSafeHeader() > ServletResponse.addCookie() -> HTTPUtilities.addSafeCookie() > ServletRequest.isSecure() -> HTTPUtilties.isSecureChannel() > ServletResponse.encodeURL -> HTTPUtilities.safeEncodeURL (better not to use at all) > ServletResponse.encodeRedirectURL -> HTTPUtilities.safeEncodeRedirectURL (better not to use at all) > java.security and javax.crypto -> Encryptor.* > java.net.urlencoder/decoder -> Encoder.encodeForURL/decodeForURL June 2012

24 ESAPI Swingset

25 ? June 2012

26 Teşekkürler June 2012

27 ESAPI Girdi Doğrulama > getvalidsafehtml(string context, String input, int maxlength, boolean allownull) > getvaliddate(string context, String input, java.text.dateformat format, boolean allownull) > getvalidnumber(string context, String input, long minvalue, long maxvalue, boolean allownull) > getvalidfilecontent(string context, byte[] input, int maxbytes, boolean allownull) > getvalidfilename(string context, String input, boolean allownull) > boolean getvalidcreditcard(string context, String input, boolean allownull) > isvalidfileupload(string context, String filepath, String filename, byte[] content, int maxbytes, boolean allownull) > isvalidhttprequestparameterset(string context, Set required, Set optional)

28 ESAPI Girdi & Çıktı Denetimi User Controller Business Functions Data Layer Backend getvalidcreditcard getvaliddirectorypath getvalidfilecontent getvalidfilename getvalidinput getvaliddirectorypath getvalidredirectlocation getvaliddate getvalidprintable safereadline encodeforjavascript encodeforvbscript Validator Encoder encodeforurl Canonicalization Double Encoding Protection Sanitization Normalization encodeforhtml encodeforhtmlattribute encodeforldap encodefordn encodeforsql encodeforxml encodeforxmlattribute encodeforxpath

Don t Write Your Own Security Code The Enterprise Security API Project OWASP. The OWASP Foundation http://www.owasp.org

Don t Write Your Own Security Code The Enterprise Security API Project OWASP. The OWASP Foundation http://www.owasp.org Don t Write Your Own Security Code The Enterprise Security API Project Jeff Williams Aspect Security CEO Volunteer Chair of [email protected] modified by [email protected] Copyright 2009 - The

More information

Enterprise Security API (ESAPI) Java Java User Group San Antonio. Jarret Raim June 3 rd, 2010

Enterprise Security API (ESAPI) Java Java User Group San Antonio. Jarret Raim June 3 rd, 2010 Enterprise Security API (ESAPI) Java Java User Group San Antonio Jarret Raim June 3 rd, 2010 What is it? ESAPI (The OWASP Enterprise Security API) is a free, open source, web application security control

More information

Points of View. CxO s point of view. Developer s point of view. Attacker s point of view

Points of View. CxO s point of view. Developer s point of view. Attacker s point of view Web App Security 2 CxO s point of view Points of View Measurable security SCAP (Security Content Automation Protocol) Developer s point of view Secure coding/software security CWE (Common Weakness Enumeration)

More information

Building & Measuring Security in Web Applications. Fabio Cerullo Cycubix Limited 30 May 2012 - Belfast

Building & Measuring Security in Web Applications. Fabio Cerullo Cycubix Limited 30 May 2012 - Belfast Building & Measuring Security in Web Applications Fabio Cerullo Cycubix Limited 30 May 2012 - Belfast Brief Bio - CEO & Founder Cycubix Limited - 10+ years security experience in Technology, Manufacturing,

More information

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

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

More information

Still Aren't Doing. Frank Kim

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

More information

Web Application Guidelines

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

More information

How We Implemented Security in Agile for 20 SCRUMs- and Lived to Tell

How We Implemented Security in Agile for 20 SCRUMs- and Lived to Tell How We Implemented Security in Agile for 20 SCRUMs- and Lived to Tell SESSION ID: ASEC-R03 Yair Rovek Security Specialist LivePerson @lione_heart Challenged by Agile In the Next 45 Min LivePerson and Application

More information

Development. Resilient Software. Secure and. Mark S. Merkow Lakshmikanth Raghavan. CRC Press. Taylor& Francis Croup. Taylor St Francis Group,

Development. Resilient Software. Secure and. Mark S. Merkow Lakshmikanth Raghavan. CRC Press. Taylor& Francis Croup. Taylor St Francis Group, Secure and Resilient Software Development Mark S. Merkow Lakshmikanth Raghavan CRC Press Taylor& Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor St Francis Group, an Informs

More information

Project 2: Web Security Pitfalls

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

More information

Magento Security and Vulnerabilities. Roman Stepanov

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

More information

Web Application Security

Web Application Security Web Application Security Security Mitigations Halito 26 juni 2014 Content Content... 2 Scope of this document... 3 OWASP Top 10... 4 A1 - Injection... 4... 4... 4 A2 - Broken Authentication and Session

More information

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

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

More information

Enterprise Application Security Workshop Series

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

More information

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

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

More information

elearning for Secure Application Development

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

More information

Check list for web developers

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

More information

Web Application Attacks and Countermeasures: Case Studies from Financial Systems

Web Application Attacks and Countermeasures: Case Studies from Financial Systems Web Application Attacks and Countermeasures: Case Studies from Financial Systems Dr. Michael Liu, CISSP, Senior Application Security Consultant, HSBC Inc Overview Information Security Briefing Web Applications

More information

JVA-122. Secure Java Web Development

JVA-122. Secure Java Web Development JVA-122. Secure Java Web Development Version 7.0 This comprehensive course shows experienced developers of Java EE applications how to secure those applications and to apply best practices with regard

More information

Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers

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

More information

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

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

More information

Sichere Software- Entwicklung für Java Entwickler

Sichere Software- Entwicklung für Java Entwickler Sichere Software- Entwicklung für Java Entwickler Dominik Schadow Senior Consultant Trivadis GmbH 05/09/2012 BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART

More information

Web Application Security

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

More information

Intrusion detection for web applications

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

More information

Web application security

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

More information

Criteria for web application security check. Version 2015.1

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

More information

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

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008 Detecting Web Application Vulnerabilities Using Open Source Means OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008 Kostas Papapanagiotou Committee Member OWASP Greek Chapter [email protected]

More information

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

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

More information

NO SQL! NO INJECTION?

NO SQL! NO INJECTION? NO SQL! NO INJECTION? A talk on the state of NoSQL security IBM Cyber Security Center of Excellence Aviv Ron Alexandra Shulman-Peleg IBM AppScan Emanuel Bronshtein AVIV RON Security Researcher for IBM

More information

Hacking de aplicaciones Web

Hacking de aplicaciones Web HACKING SCHOOL Hacking de aplicaciones Web Gabriel Maciá Fernández Fundamentos de la web CLIENTE SERVIDOR BROWSER HTTP WEB SERVER DATOS PRIVADOS BASE DE DATOS 1 Interacción con servidores web URLs http://gmacia:[email protected]:80/descarga.php?file=prueba.txt

More information

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

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

More information

How To Fix A Web Application Security Vulnerability

How To Fix A Web Application Security Vulnerability Proposal of Improving Web Application Security in Context of Latest Hacking Trends RADEK VALA, ROMAN JASEK Department of Informatics and Artificial Intelligence Tomas Bata University in Zlin, Faculty of

More information

Detect and Sanitise Encoded Cross-Site Scripting and SQL Injection Attack Strings Using a Hash Map

Detect and Sanitise Encoded Cross-Site Scripting and SQL Injection Attack Strings Using a Hash Map Detect and Sanitise Encoded Cross-Site Scripting and SQL Injection Attack Strings Using a Hash Map Erwin Adi and Irene Salomo School of Computer Science BINUS International BINUS University, Indonesia

More information

DIPLOMA IN WEBDEVELOPMENT

DIPLOMA IN WEBDEVELOPMENT DIPLOMA IN WEBDEVELOPMENT Prerequisite skills Basic programming knowledge on C Language or Core Java is must. # Module 1 Basics and introduction to HTML Basic HTML training. Different HTML elements, tags

More information

Where every interaction matters.

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

More information

Webapps Vulnerability Report

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

More information

Implementation of Web Application Firewall

Implementation of Web Application Firewall Implementation of Web Application Firewall OuTian 1 Introduction Abstract Web 層 應 用 程 式 之 攻 擊 日 趨 嚴 重, 而 國 內 多 數 企 業 仍 不 知 該 如 何 以 資 安 設 備 阻 擋, 仍 在 採 購 傳 統 的 Firewall/IPS,

More information

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

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

More information

EVALUATING COMMERCIAL WEB APPLICATION SECURITY. By Aaron Parke

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

More information

Security Testing with Selenium

Security Testing with Selenium with Selenium Vidar Kongsli Montréal, October 25th, 2007 Versjon 1.0 Page 1 whois 127.0.0.1? Vidar Kongsli System architect & developer Head of security group Bekk Consulting Technology and Management

More information

Introduction. Two levels of security vulnerabilities:

Introduction. Two levels of security vulnerabilities: Introduction Two levels of security vulnerabilities: Project level (cyphers, standard protocols, BAN logic, etc.) Implementation level (bugs, unhandled inputs, misconfigurations, etc.) There are two levels

More information

Java Web Security Antipatterns

Java Web Security Antipatterns Java Web Security Antipatterns JavaOne 2015 Dominik Schadow bridgingit Failed with nothing but the best intentions Architect Implement Maintain Architect Skipping threat modeling Software that is secure

More information

Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek ([email protected])

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

More information

State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell

State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell Stanford Computer Security Lab State of The Art: Automated Black Box Web Application Vulnerability Testing, Elie Bursztein, Divij Gupta, John Mitchell Background Web Application Vulnerability Protection

More information

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH [email protected] January 17, 2014 2014 Mega Conference

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

More information

Towards More Security in Data Exchange

Towards More Security in Data Exchange Towards More Security in Data Exchange Defining Unparsers with Context-Sensitive Encoders for Context-Free Grammars Lars Hermerschmidt, Stephan Kugelmann, Bernhard Rumpe Software http://www.se-rwth.de/

More information

OWASP TOP 10 ILIA ALSHANETSKY @ILIAA HTTPS://JOIND.IN/15741

OWASP TOP 10 ILIA ALSHANETSKY @ILIAA HTTPS://JOIND.IN/15741 OWASP TOP 10 ILIA ALSHANETSKY @ILIAA HTTPS://JOIND.IN/15741 ME, MYSELF & I PHP Core Developer Author of Guide to PHP Security Security Aficionado THE CONUNDRUM USABILITY SECURITY YOU CAN HAVE ONE ;-) OPEN

More information

Advanced Security for Systems Engineering VO 01: Web Application Security

Advanced Security for Systems Engineering VO 01: Web Application Security Advanced Security for Systems Engineering VO 01: Web Application Security Stefan Taber, Christian Schanes INSO Industrial Software Institute of Computer Aided Automation Faculty of Informatics TU Wien

More information

DISA's Application Security and Development STIG: How OWASP Can Help You. AppSec DC November 12, 2009. The OWASP Foundation http://www.owasp.

DISA's Application Security and Development STIG: How OWASP Can Help You. AppSec DC November 12, 2009. The OWASP Foundation http://www.owasp. DISA's Application Security and Development STIG: How Can Help You AppSec DC November 12, 2009 Jason Li Senior Application Security Engineer [email protected] The Foundation http://www.owasp.org

More information

Hack-proof Your Drupal App. Key Habits of Secure Drupal Coding

Hack-proof Your Drupal App. Key Habits of Secure Drupal Coding Hack-proof Your Drupal App Key Habits of Secure Drupal Coding DrupalCamp CT 2010 My Modules Introductions Erich Beyrent http://twitter.com/ebeyrent http://drupal.org/user/23897 Permissions API Search Lucene

More information

No SQL! no injection? A talk on the state of NoSQL security

No SQL! no injection? A talk on the state of NoSQL security No SQL! no injection? A talk on the state of NoSQL security IBM Cyber Security Center of Excellence Aviv Ron Alexandra Shulman-Peleg Anton Puzanov Aviv Ron Security Researcher for IBM Cyber Security Center

More information

APPLICATION SECURITY AND ITS IMPORTANCE

APPLICATION SECURITY AND ITS IMPORTANCE Table of Contents APPLICATION SECURITY AND ITS IMPORTANCE 1 ISSUES AND FIXES: 2 ISSUE: XSS VULNERABILITIES 2 ISSUE: CSRF VULNERABILITY 2 ISSUE: CROSS FRAME SCRIPTING (XSF)/CLICK JACKING 2 ISSUE: WEAK CACHE

More information

(WAPT) Web Application Penetration Testing

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

More information

Ruby on Rails Secure Coding Recommendations

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

More information

Web Application Attacks And WAF Evasion

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

More information

What about MongoDB? can req.body.input 0; var date = new Date(); do {curdate = new Date();} while(curdate-date<10000)

What about MongoDB? can req.body.input 0; var date = new Date(); do {curdate = new Date();} while(curdate-date<10000) Security What about MongoDB? Even though MongoDB doesn t use SQL, it can be vulnerable to injection attacks db.collection.find( {active: true, $where: function() { return obj.credits - obj.debits < req.body.input;

More information

Chapter 1 Web Application (In)security 1

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

More information

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

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

More information

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

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

More information

CTF Web Security Training. Engin Kirda [email protected]

CTF Web Security Training. Engin Kirda ek@ccs.neu.edu CTF Web Security Training Engin Kirda [email protected] Web Security Why It is Important Easiest way to compromise hosts, networks and users Widely deployed ( payload No Logs! (POST Request Difficult to defend

More information

Validation Procedure. ANNEX 4. Security Testing Basis

Validation Procedure. ANNEX 4. Security Testing Basis WP 3 - D3.4 Validation Procedure. ANNEX 4. Security Testing Basis Project Acronym: ExtremeFactories Full Title: Internet based environment implementing agile management methods for enabling the set-up,

More information

Cyber Security Challenge Australia 2014

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

More information

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY Advanced Web Development Duration: 6 Months SCOPE OF WEB DEVELOPMENT INDUSTRY Web development jobs have taken thе hot seat when it comes to career opportunities and positions as a Web developer, as every

More information

Top 10 Web Application Security Vulnerabilities - with focus on PHP

Top 10 Web Application Security Vulnerabilities - with focus on PHP Top 10 Web Application Security Vulnerabilities - with focus on PHP Louise Berthilson Alberto Escudero Pascual 1 Resources The Top 10 Project by OWASP www.owasp.org/index.php/owasp_top_ten_project

More information

Application Security. Petr Křemen. [email protected]

Application Security. Petr Křemen. petr.kremen@fel.cvut.cz Application Security Petr Křemen [email protected] What is application security? Security is a set of measures that So, what can happen? taken from [7] first half of 2013 Let's focus on application

More information

REDCap Technical Overview

REDCap Technical Overview REDCap Technical Overview Introduction REDCap is a web application for building and managing online surveys and databases. This document delineates many of the broader technical aspects of REDCap, such

More information

Bypassing Web Application Firewalls (WAFs) Ing. Pavol Lupták, CISSP, CEH Lead Security Consultant

Bypassing Web Application Firewalls (WAFs) Ing. Pavol Lupták, CISSP, CEH Lead Security Consultant Bypassing Web Application Firewalls (WAFs) Ing. Pavol Lupták, CISSP, CEH Lead Security Consultant Nethemba All About Security Highly experienced certified IT security experts (CISSP, C EH, SCSecA) Core

More information

Sitefinity Security and Best Practices

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

More information

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

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

More information

What is Web Security? Motivation

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

More information

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

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

More information

Testing the OWASP Top 10 Security Issues

Testing the OWASP Top 10 Security Issues Testing the OWASP Top 10 Security Issues Andy Tinkham & Zach Bergman, Magenic Technologies Contact Us 1600 Utica Avenue South, Suite 800 St. Louis Park, MN 55416 1 (877)-277-1044 [email protected] Who Are

More information

Web Application Security Assessment and Vulnerability Mitigation Tests

Web Application Security Assessment and Vulnerability Mitigation Tests White paper BMC Remedy Action Request System 7.6.04 Web Application Security Assessment and Vulnerability Mitigation Tests January 2011 www.bmc.com Contacting BMC Software You can access the BMC Software

More information

Security Code Review- Identifying Web Vulnerabilities

Security Code Review- Identifying Web Vulnerabilities Security Code Review- Identifying Web Vulnerabilities Kiran Maraju, CISSP, CEH, ITIL, SCJP Email: [email protected] 1 1.1.1 Abstract Security Code Review- Identifying Web Vulnerabilities This paper

More information

OpenSAMM Software Assurance Maturity Model

OpenSAMM Software Assurance Maturity Model Libre Software Meeting Brussels 10-July-2013 The OWASP Foundation http://www.owasp.org Open Software Assurance Maturity Model Seba Deleersnyder [email protected] OWASP Foundation Board Member OWASP Belgium

More information

OWASP Secure Coding Practices Quick Reference Guide

OWASP Secure Coding Practices Quick Reference Guide OWASP Secure Coding Practices Quick Reference Guide Copyright and License Copyright 2010 The OWASP Foundation. This document is released under the Creative Commons Attribution ShareAlike 3.0 license. For

More information

Finding XSS in Real World

Finding XSS in Real World Finding XSS in Real World by Alexander Korznikov [email protected] 1 April 2015 Hi there, in this tutorial, I will try to explain how to find XSS in real world, using some interesting techniques. All

More information

A Survey on Security and Vulnerabilities of Web Application

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

More information

Nuclear Regulatory Commission Computer Security Office Computer Security Standard

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

More information

External Network & Web Application Assessment. For The XXX Group LLC October 2012

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

More information

Hack Proof Your Webapps

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

More information

Adobe Systems Incorporated

Adobe Systems Incorporated Adobe Connect 9.2 Page 1 of 8 Adobe Systems Incorporated Adobe Connect 9.2 Hosted Solution June 20 th 2014 Adobe Connect 9.2 Page 2 of 8 Table of Contents Engagement Overview... 3 About Connect 9.2...

More information

Web Security - Hardening estudy

Web Security - Hardening estudy Web Security - Hardening estudy Matthias Hecker, Andreas Schmidt, Philipp Promeuschel, Ivo Senner, Andre Rein, Bartosz Boron, Christian Ketter, Christian Thomas Weber Fachhochschule Giessen-Friedberg September

More information

Certified Secure Web Application Secure Development Checklist

Certified Secure Web Application Secure Development Checklist www.certifiedsecure.com [email protected] Tel.: +31 (0)70 310 13 40 Loire 128-A 2491 AJ The Hague The Netherlands About Certified Secure Checklist Certified Secure exists to encourage and fulfill

More information

Institutionen för datavetenskap

Institutionen för datavetenskap Institutionen för datavetenskap Department of Computer and Information Science Final thesis Generating web applications containing XSS and CSRF vulnerabilities by Gustav Ahlberg LIU-IDA/LITH-EX-A--14/054--SE

More information

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 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.

More information

OWASP Top Ten Tools and Tactics

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

More information

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management What is an? s Ten Most Critical Web Application Security Vulnerabilities Anthony LAI, CISSP, CISA Chapter Leader (Hong Kong) [email protected] Open Web Application Security Project http://www.owasp.org

More information

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

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

More information

Application Security Vulnerabilities, Mitigation, and Consequences

Application Security Vulnerabilities, Mitigation, and Consequences Application Security Vulnerabilities, Mitigation, and Consequences Sean Malone, CISSP, CCNA, CEH, CHFI [email protected] Institute of Internal Auditors April 10, 2012 Overview Getting Technical

More information

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 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,

More information

HTTPParameter Pollution. ChrysostomosDaniel

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

More information

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

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

More information

Web Application Report

Web Application Report Web Application Report This report includes important security information about your Web Application. OWASP Top Ten 2010 The Ten Most Critical Web Application Report This report was created by IBM Rational

More information

IoT-Ticket.com. Your Ticket to the Internet of Things and beyond. IoT API

IoT-Ticket.com. Your Ticket to the Internet of Things and beyond. IoT API IoT-Ticket.com Your Ticket to the Internet of Things and beyond IoT API Contents 1 Introduction... 4 1.1 Overview... 4 1.2 Abbreviations and definitions... 4 1.3 Data Model... 4 1.4 General Information...

More information

Web Application Penetration Testing

Web Application Penetration Testing Web Application Penetration Testing 2010 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Will Bechtel [email protected]

More information

SQL Injection for newbie

SQL Injection for newbie SQL Injection for newbie SQL injection is a security vulnerability that occurs in a database layer of an application. It is technique to inject SQL query/command as an input via web pages. Sometimes we

More information