Webapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András



Hasonló dokumentumok
Weboldalak Biztonsági Kérdései

Silent Signal Kft. Webáruházak informatikai biztonsága Veres-Szentkirályi András Marketingtorta - 4 1

Gyimesi István fejlesztési vezető Cardinal Számítástechnikai Kft.

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

Webes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk

Silent Signal Kft. Webáruházak biztonsági vizsgálatainak lehetőségei és tapasztalatai Szabó Péter Veres-Szentkirályi András

Weboldalak biztonsága

API tervezése mobil környezetbe. gyakorlat

SQLi és XSS sérülékenységek

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS. Sütik és munkamenetek kezelése

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

Gyakorlati vizsgatevékenység B

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Biztonságos PHP a gyakorlatban

Gyakorlati vizsgatevékenység A

Drupal biztonság. Tuesday, April 3, 12

XSS férgek és vírusok

Webes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk. Cserép Máté

Web service fenyegetések e- közigazgatási. IT biztonsági tanácsadó

LBRA6i integrált rendszer

NGFW + IPS + anti-apt + BYOD = Sophos UTM 9.2

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

Heppen Szolgáltató Kft. Adatkezelési tájékoztató a weboldalon elhelyezett sütik használatáról

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

Elektronikus levelek. Az informatikai biztonság alapjai II.

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

8. óra Weboldalak biztonsága. Gyimesi Ákos

A könyv tartalomjegyzéke

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

Elektronikus szolgáltatás igénylés megvalósítása a NIIFI-ben. 2011/11/10 HBONE Workshop. Kiss Zoltán

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

Gyakorlati vizsgatevékenység B

Web-fejlesztés NGM_IN002_1

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Webes alkalmazások fejlesztése

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel

Kiknek szól ez a könyv? Miről szól a könyv? Hogyan épül fel a könyv? Mire van szükség a könyv használatához? Szokások Forráskód Hibajegyzék

Webalkalmazás-biztonság. Hitelesítés, jelszókezelés, hozzáféréskontroll

Alapfogalmak. Biztonság. Biztonsági támadások Biztonsági célok

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Java webalkalmazások felhasználó- és jogosultságkezelése

Cookie-k használatának irányelve

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázisok* tulajdonságai

Vectory telepítési útmutató

LINUX LDAP címtár. Mi a címtár?

Oracle Audit Vault and Database Firewall. Gecseg Gyula Oracle DBA

GDPR az EU Általános Adatvédelmi Rendelete - minden vállalkozás életét érintő jogszabály -

Mozgásvizsgálati mérések internetes megjelenítése. Zemkó Szonja - Dr. Siki Zoltán

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

JSF alkalmazások teljesítményhangolása JMeter és dynatrace segítségével

Az e közigazgatás megvalósításának biztonsági kérdései önkormányzati környezetben. Krasznay Csaba

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Cookie Nyilatkozat Válts Fel weboldal

Web Application Attack and Audit Framework W3AF

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Gflimited. A Megállapodás és a feladat. - Belső elkülönített hálózat kialakítása és monitorozása üzemeltetése.

Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban. A CryptTalk fejlesztése során alkalmazott módszerek. Dr. Barabás Péter Arenim Technologies

Adatbázis fejlesztés és üzemeltetés II. Szabó Bálint

Valimed API. REST API a magyarországi orvos pecsétszámok validálására

Egy családfaszerkesztő alkalmazás leírása

Web programoz as

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

11. Gyakorlat: Certificate Authority (CA), FTP site-ok

A JAVA FUTTATÁSAKOR ELŐFORDULÓ HIBA-

MOME WiFi hálózati kapcsolat beállítása február 25.

SQLServer. SQLServer konfigurációk

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

AdoDB a gyakorlatban

Adatbázis kezelés Delphiben. SQL lekérdezések

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

CareLink Personal telepítési útmutató. Első lépések a CareLink Personal adatfeltöltéshez

Oracle Forms - Oracle Application Express alkalmazások migrációja a jövőbe

Webes alkalmazások fejlesztése 6. előadás. Állapotfenntartás (ASP.NET) 2015 Giachetta Roberto

IBM Rational AppScan. IBM Software Group. Preisinger Balázs Rational termékmenedzser

SQLServer. DB Recovery modes

Bevezetés Működési elv AJAX keretrendszerek AJAX

Az SQL adatbázisnyelv: DML

Gyors Telepítési Útmutató N típusú, Vezeték Nélküli, ADSL2+ Modem DL-4305, DL-4305D

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

INFORMATIKA EGYRE NAGYOBB SZEREPE A KÖNYVELÉSBEN

Webtárhely létrehozása a helyen. Lépések Teendő 1. Böngészőbe beírni: 2. Jobb oldalon regisztrálni (tárhelyigénylés).

A Java EE 5 plattform

Gyakorlati vizsgatevékenység A

JAVA webes alkalmazások

Nyilvántartási Rendszer

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Megtanuljuk, hogyan lehet egy web-alkalmazással adatbázishoz csatlakozni Pontosan megnézzük a PHP lehetőségeit o MySQL-hez o Oracle-höz

SQL DDL-2 (aktív elemek) triggerek

Internet technológiák

A Telekom MoziKlub Piknik oldalon használt sütik

Átírás:

Webapp (in)security Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt Veres-Szentkirályi András

Rövid áttekintés Webalkalmazások fejlesztése során elkövetett leggyakoribb hibák ismertetése és elemzése SQL injection XSS CSRF Hibák kihasználásának bemutatása Néhány példa arra, hogyan kerüljük el a hasonló helyzeteket

XSS Aka. Cross-Site Scripting Kliensoldalról származó adat kerül a szerver által generált kimenetbe Három változat DOM-alapú (helyi) Reflective Persistent

Reflective XSS Klienstől érkező paraméterek felhasználása megfelelő szűrés nélkül... egyszer és csak a kliens munkamenetében Nem (tűnik) annyira veszélyes(nek) Phishingre kiváló

Reflective XSS https://bank.com/search.php? search=<script>window.location='http://evil.com'</script> Egy kicsit kevésbé feltűnő módon: https://bank.com/search.php?search=%3c %73%63%72%69%70%74%3e%77%69%6e%64%6f%77%2e%6c%6f %63%61%74%69%6f%6e%3d%27%68%74%74%70%3a%2f%2f %65%76%69%6c%2e%63%6f%6d%27%3c%2f %73%63%72%69%70%74%3e%3c%73%63%72%69%70%74%3e %77%69%6e%64%6f%77%2e%6c%6f%63%61%74%69%6f%6e%3d %27%68%74%74%70%3a%2f%2f%65%76%69%6c%2e%63%6f%6d %27%3c%2f%73%63%72%69%70%74%3e

Tárolt XSS Klienstől érkező paraméterek felhasználása megfelelő szűrés nélkül... majd tárolása szerveroldalon ahonnan elérhető mindenki számára

XSS támadások Phishing Drive-by exploitok Deface Helyi hálózat elleni támadások Lásd Linksys WPA kikapcsolás Ugródeszka CSRF-hez Később még beszélünk róla XSS férgek

XSS férges esetek 2007. január 31.: Samy MySpace 20 óra alatt több mint egymillió felhasználó 2008. június 28.: Justin.tv 2009. szeptember 28.: Reddit.com Következő áldozat: Yahoo Meme? http://www.hackersblog.org/2009/10/11/i-can-predict-the-future/

XSS elleni védelem Bemenet szűrése Tilos az <á>! Biztosan elegendő? Nem feltétlenül... Használhatóság és biztonság közti egyensúly Lassan kezdünk hozzászokni Kimenet szűrése Sajnos még nem gyakori... htmlspecialchars() a barátod

SQL injection Példa: egyszerű azonosítás Felhasználónév + jelszó Megnézzük, hogy van-e olyan rekord, amely a megfelelő felhasználónevet és jelszót tartalmazza SELECT * FROM users WHERE name=? AND password=?

Ami a háttérben történik Paraméter kiolvasása Lekérdezés összeállítása SELECT * FROM users WHERE name='admin' AND password='szupertitkosjelszó' Mi történik, ha... SELECT * FROM users WHERE name='admin' # ' AND password=''

Mire van még lehetőségünk? Más adatok kiolvasása UNION SELECT INSERT, UPDATE, DELETE utasítások Adatmódosító lekérdezések injectelésével Query Stacking Fájlrendszer olvasása (!) Parancsvégrehajtás (!!)

Query stacking

SQLi elleni védelem Szűrjük a bemeneteket! A számok legyenek valóban számok! A stringhatárolókat escape-eljük!...illetve méginkább: használjunk előkészített lekérdezéseket és/vagy ORM keretrendszert! Best Practices Hasheljük a jelszavakat! A DBMS a szükséges legalacsonyabb privilégiumokkal fusson! Legyen külön saját adatbázisa minden alkalmazásnak!

A böngésző szépségei Többlapos böngészés FTW! Sok munkamenet... különböző oldalakon... ugyanabban a böngészőben Sütik Kliensoldali adattárolás Munkamenet-azonosítók (remélhetőleg) véletlen(szerű) azonosítók Legtöbbször kliensoldalon tárolva

Same-origin Policy... permits scripts running on pages originating from the same site to access each other's methods and properties with no specific restrictions but prevents access to most methods and properties across pages on different sites. A Web 2.0 világban néha valóban szükség lehet, hogy más oldal is elérje az adatainkat Erre itt az AJAX Ami még nem sérti az SoP-t!

Cross-Site Request Forgery Sima HTTP kéréseket küldhetünk más oldalaknak egy weboldalról IFRAME-ek, képek, stb... JavaScript A kéréssel együtt a böngésző elküldi az adott szervernek szóló sütiket A kérés a meglévő munkamenetünkhöz tartozik Innentől szabad a pálya...

CSRF védelem Űrlapadatok védelme tokennel A támadó nem ismeri az értékét 1) Token generálás 2) Token tátolás (DB) 3) Rejtett mező minden HTML űrlapon 4) Csak megfelelő tokennel rendelkező adatok elfogadása Referer ellenőrzés

További információk Open Web Application Security Project: http://www.owasp.org XSSed: http://www.xssed.com SQL injection cheat sheet: http://ferruh.mavituna.com/sql-injection-cheatsheet-oku/

Köszönöm a figyelmet! Kérdések? vsza@silentsignal.hu http://www.silentsignal.hu