Kontakt mail office@ceib.rs / mobile +381 65 940 2010
Web application security scanning solutions for DAST (Dynamic Application Security Testing) and SAST
Training description
This training is intended for software developers in order to raise the awareness of the importance of the source code security. Participants will learn about basic and advanced concepts of the source code security, importance of the user input validation (input sanitation) and about the most prevalent vulnerabilities (security flaws) found in applications. Vulnerabilities will be explained, together with possible remedies. Training will cover most popular OWASP TOP 10 vulnerabilities as well as other vulnerabilities frequently present in the source code. All major platforms are covered (PHP, Java, C#, VB.Net, ASP Classic, JavaScript, Visual Basic, VBScript) with possible focus on the desired platforms. Training includes demonstration of vulnerabilities and methods to fix them. Content Module 01 OWASP Top 10 A1 Injection Module 02 OWASP Top 10 A2 Broken Authentication and Session Management Module 03 OWASP Top 10 A3 Cross-site Scripting Module 04 OWASP Top 10 A4 Insecure Direct Object Reference Module 05 OWASP Top 10 A5 Security Misconfiguration Module 06 OWASP Top 10 A6 Sensitive Data Exposure Module 07 OWASP Top 10 A7 Missing Function Level Access Control Module 08 OWASP Top 10 A8 Cross-site Request Forgery Module 09 OWASP Top 10 A9 Using Components with Known Vulnerabilities Module 10 OWASP Top 10 A10 Unvalidated Redirects and Forwards Module 11 CWE SANS Top 25 Buffer Overflows Module 12 CWE SANS Top 25 Insecure Interaction Between Components Module 13 CWE SANS Top 25 Risky Resource Management Module 14 CWE SANS Top 25 Porous Defenses Module 15 Honorable Mentions Module 16 Active Defenses Module 17 Threat Modeling |
Opis treninga
Trening je namijenjen razvojnim inženjerima (eng. developers), u svrhu podizanja svijesti o sigurnosti programskog koda koji proizvode. Razvojne inženjere se upoznaje s osnovnim i naprednim konceptima sigurnosti programskog koda, validacije korisničkog unosa te najčešćim sigurnosnim propustima koji se javljaju u aplikacijama. Osim tehnika samih ranjivosti, razvojnim inženjerima se predlaže i način na koji ih je moguće ukloniti. Trening pokriva najpopularnije OWASP TOP 10 ranjivosti, te razne druge ranjivosti programskog koda. Pokrivene su sve vodeće razvojne platforme (PHP, Java, C#, VB.Net, ASP Classic, JavaScript, Visual Basic, VBScript), s tim da se, ovisno o polaznicima, fokus može staviti na određenu platformu. Trening se sastoji od teorijskog i praktičnog dijela, u kojem se demonstriraju ranjivosti i načini njihovog otklanjanja. Trajanje treninga: 4 dana. Sadržaj treninga 1. Uvod u aplikacijsku sigurnost - Upoznavanje s tehnikama otkrivanja i iskorištavanja sigurnosnih ranjivosti - Otkrivanje ranjivosti analizom izvornog koda - Whitebox pristup - Otkrivanje ranjivosti uz pomoć hakerskih tehnika - Blackbox pristup - Korištenje source code analysis alata (DefenseCode ThunderScan) - Korištenje web security scannera (Paros Proxy & DefenseCode Web Scanner) 2. Analiza sigurnosnih ranjivosti SQL Injection - Ranjivost se javlja zbog ubacivanja korisničkog unosa direktno u SQL Query - Omogućava izvršavanje proširenih SQL query-a nad bazom podataka - Otkrivanje SQL Injection ranjivosti - Iskorištavanje SQL Injection ranjivosti - Popravljanje SQL Injection ranjivosti - Primjer: Izvlačenje podataka iz baze podataka Blind SQL Injection - Ranjivost se javlja zbog ubacivanja korisničkog unosa direktno u SQL Query - Omogućava izvršavanje proširenih SQL query-a nad bazom podataka - Otkrivanje Blind SQL Injection ranjivosti - Iskorištavanje Blind SQL Injection ranjivosti - Popravljanje Blind SQL Injection ranjivosti - Primjer: Izvlačenje podataka iz baze podataka Source Code Disclosure - Ranjivost se javlja zbog korištenja korisničkog unosa u file reading funkcijama - Omogućava dohvat osjetljivih datoteka - Otkrivanje Source Code Disclosure ranjivosti - Iskorištavanje Source Code Disclosure ranjivosti - Popravljanje Source Code Disclosure ranjivosti - Primjer: Dohvat osjetljivih datoteka File Disclosure - Ranjivost se javlja zbog korištenja korisničkog unosa u file reading funkcijama - Omogućava dohvat osjetljivih datoteka - Otkrivanje File Disclosure ranjivosti - Iskorištavanje File Disclosure ranjivosti - Popravljanje File Disclosure ranjivosti - Primjer: Dohvat osjetljivih datoteka Command Execution - Ranjivost se javlja zbog korištenja korisničkog unosa prilikom pozivanja drugih programa - Omogućava izvršavanje proizvoljnih naredbi na ranjivoj aplikaciji - Otkrivanje Command Execution ranjivosti - Iskorištavanje Command Execution ranjivosti - Popravljanje Command Execution ranjivosti - Primjer: Izvršavanje proizvoljnih programa Code Injection - Ranjivost se javlja zbog proširivanja eval()-based funkcija korisnickim unosom - Omogućava izvršavanje proizvoljnog koda na ranjivoj aplikaciji - Otkrivanje Code Injection ranjivosti - Iskorištavanje Code Injection ranjivosti - Popravljanje Code Injection ranjivosti - Primjer: Ubacivanje proizvoljnog koda File Inclusion - Ranjivost se javlja zbog korištenja korisničkog unosa u file reading funkcijama - Omogućava dohvat osjetljivih datoteka - Otkrivanje File Inclusion ranjivosti - Iskorištavanje File Inclusion ranjivosti - Popravljanje File Inclusion ranjivosti - Primjer: Dohvat osjetljivih datoteka HTTP Response Splitting - Ranjivost se javlja zbog korištenja user inputa u HTTP response-u - Omogućava modifikaciju HTTP Response-a - Otkrivanje HTTP Response Splitting ranjivosti - Iskorištavanje HTTP Response Splitting ranjivosti - Popravljanje HTTP Response Splitting ranjivosti - Primjer: Modifikacija HTTP Response-a Cross Site Scripting - Ranjivost se javlja zbog ispisivanja korisničkog unosa u HTTP odgovoru - Omogućava modifikaciju izgleda HTML stranice ili izvršavanje proizvoljnog JavaScript koda - Otkrivanje Cross Site Scripting ranjivosti - Iskoristavanje Cross Site Scripting ranjivosti - Popravljanje Cross Site Scripting ranjivosti - Zaobilaženje filtera - Primjer: Krađa korisničkog Cookiea LDAP Injection - Ranjivost se javlja zbog korištenja korisničkog unosa u LDAP query-ima - Omogućava izvršavanje proširenih LDAP upita - Otkrivanje LDAP Injection ranjivosti - Iskorištavanje LDAP Injection ranjivosti - Popravljanje LDAP Injection ranjivosti - Primjer: Dohvat podataka XPATH Injection - Ranjivost se javlja zbog korištenja korisničkog unosa u XPATH query-ima - Omogućava izvršavanje proširenih XPATH upita - Otkrivanje XPATH Injection ranjivosti - Iskorištavanje XPATH Injection ranjivosti - Popravljanje XPATH Injection ranjivosti - Primjer: Dohvat podataka Common File Name, Information Leak i dr. ranjivosti… |