T1514

Ladda ner som PDF

Advanced Java, JEE and Web application security

Beyond a solid knowledge in using Java components, even for experienced Java programmers it is essential to have a deep knowledge in Web-related vulnerabilities both on server and client side, the different vulnerabilities that are relevant for Web applications written in Java, and the consequences of the various risks.

General web-based vulnerabilities are demonstrated through presenting the relevant attacks, while the recommended coding techniques and mitigation methods are explained in the context of Java with the most important aim to avoid the associated problems. In addition, a special focus is given to client-side security tackling security issues of JavaScript, Ajax and HTML5.

Audience

Java and JEE developers, software architects and testers

Prior knowledge

Preparedness: Advanced Java and Web application

Language

The course is taught in English (Contact us if you prefer Swedish).

Courseware

Material in English

Informator Training Cloud

Our training portal supports your development throughout the training. The portal saves you time and is designed to give you a more effective learning experience - leading to better results and greater knowledge enforcement after the course. Read more >

The course introduces security components of Standard Java Edition, which is preceded with the foundations of cryptography, providing a common baseline for understanding the purpose and the operation of the applicable components. Security issues of Java Enterprise Edition are presented through various exercises explaining both declarative and programmatic security techniques in JEE.

Finally, the course explains the most frequent and severe programming flaws of the Java language and platform. Besides the typical bugs committed by Java programmers, the introduced security vulnerabilities cover both language-specific issues and problems stemming from the runtime environment. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by the recommended coding guidelines and the possible mitigation techniques.

Web vulnerabilities:OWASP top 10 and beyond: SQL Injection and other injection flaws, Cross-Site Scripting: persistent and reflected XSS, Cross-Site Request Forgery (CSRF), malicious file execution, Insecure Direct Object Reference, uploading executable files. Client-site security; JavaScript same origin policy, global object, authentication and password management in JavaScript, obfuscating JavaScript code, history stealing, XSS DOM in JavaScript, ClickJacking. Ajax security, XSS and CSRF in Ajax, example: explaining the... Läs mer

The course introduces security components of Standard Java Edition, which is preceded with the foundations of cryptography, providing a common baseline for understanding the purpose and the operation of the applicable components. Security issues of Java Enterprise Edition are presented through various exercises explaining both declarative and programmatic security techniques in JEE.

Finally, the course explains the most frequent and severe programming flaws of the Java language and platform. Besides the typical bugs committed by Java programmers, the introduced security vulnerabilities cover both language-specific issues and problems stemming from the runtime environment. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by the recommended coding guidelines and the possible mitigation techniques.

Web vulnerabilities:OWASP top 10 and beyond: SQL Injection and other injection flaws, Cross-Site Scripting: persistent and reflected XSS, Cross-Site Request Forgery (CSRF), malicious file execution, Insecure Direct Object Reference, uploading executable files. Client-site security; JavaScript same origin policy, global object, authentication and password management in JavaScript, obfuscating JavaScript code, history stealing, XSS DOM in JavaScript, ClickJacking. Ajax security, XSS and CSRF in Ajax, example: explaining the MySpace worm. XSS and ClickJacking in HTML5, form tampering, history tampering, cross-document messaging.

Java security technologies and services:Java language security solutions, Java Virtual Machine (JVM) and Java Runtime Environment (JRE); ByteCode Verifier and Classloader; Security Manager and Access Controller, managing permissions with the PolicyTool; Java Cryptography Architecture (JCA) and Java Cryptographic Extension (JCE), Java Secure Socket Extension (JSSE), Java Authentication and Authorization Service (JAAS), Java Keystore (JKS) and the KeyTool

Java Enterprise Edition (JEE) topics:security solutions; declarative and programmatic security; annotations and deployment descriptors; Web/Presentation Tier, Enterprise Java Beans (EJB)/Business Tier, Enterprise Information System (EIS)/Integration Tier; Java Message Service (JMS), Java Database Connectivity (JDBC)

Java specific vulnerabilities:integer overflows in Java (e.g. in java.util.zip.CRC32); Calendar/ZoneInfo deserialization bug (CVE 2008-5353); unsafe reflection; unsafe Java Native Interface (JNI); improper use of cryptographic features, insecure randomness of java.util.Random, challenges of password management, cracking hashed passwords with search engines; improper error and exception handling; Java 7 vulnerabilities, problems in ClassFinder and MethodFinder; object hijacking; serialization of sensitive information; dangers of mobile code; Denial-of-Service (DoS) in Java (the “2.2250738585072012e-308 bug”), problem with inner classes, and many more...

Exercises:exploiting SQL injection step-by-step; crafting Cross-Site Scripting attacks through both reflective and persistent XSS; committing Cross-Site Request Forgery (CSRF); malicious file execution; insecure direct object reference; uploading and running executable code; JavaScript obfuscation, clickjacking, form tampering; cracking hashed values with search engines; information leakage through error reporting. Setting and using permissions; authentication and authorization through JAAS; using JCA/JCE providers for digital signing and encryption; permission for signed code; using JSSE – switching from HTTP to HTTPS; using JSSE – switching from HTTP to HTTPS; working with file and JDBC realms, setting the deployment descriptors accordingly; authentication, specifying roles and method permissions by annotation and deployment descriptors; crashing through JNI; proof-of-concept exploit of Calendar/ZoneInfo deserialization bug; using reflection to break accessibility modifiers; object hijacking; preventing serialization; exploiting mobile code vulnerabilities; crashing Java with magic double values; exploiting inner classes; using the NetSparker Web vulnerability scanner, using Safe3 SQL Injector to automate injection flaw exploit, understanding vulnerability databases, google hacking, sniffing network traffic with WireShark and the Burp Suite proxy, using the FindBugs source code analyzer.

Kurs-ID: T1514
Längd: 4 dagar
Pris exkl moms: 31 450 kr

Frågor om kursen?

Har du frågor om kursens innehåll, leveransdatum/ort eller behöver en företagsanpassad variant? Fyll i formuläret nedan!


Kan betalas med:
TRAINING CARD

Ort och datum

Stockholm
6 mar-9 mar
Boka nu!
19 jun-22 jun
Boka nu!
Göteborg
6 mar-9 mar R
Boka nu!
19 jun-22 jun R
Boka nu!
Malmö
6 mar-9 mar R
Boka nu!
19 jun-22 jun R
Boka nu!
Cloud Access
i Läs mer

Delta på kursen från ditt hem, jobb eller annan plats.

6 mar-9 mar
Boka nu!
19 jun-22 jun
Boka nu!

Tipsa