• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
 

Bezpečnost webových aplikací Web Inkognito VŠE 05/2013

on

  • 518 views

 

Statistics

Views

Total Views
518
Views on SlideShare
456
Embed Views
62

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 62

http://www.michalspacek.cz 62

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Bezpečnost webových aplikací Web Inkognito VŠE 05/2013 Bezpečnost webových aplikací Web Inkognito VŠE 05/2013 Presentation Transcript

    • Michal Špaček, @iz228 VŠE, květen 2013 www.michalspacek.cz @spazef0rze Slajdy jsou bez mých poznámek, nedávají tedy moc smysl pro toho, kdo na semináři nebyl.
    • Útoky na web SQL Injection Cross-Site Scripting Full Path Disclosure … a stovky dalších Michal Špaček @spazef0rze www.michalspacek.cz
    • Full Path Disclosure (FPD) Vyzrazení plné cesty ke skriptu http://devblog.cz/2012/04/fpd-aneb-full-path-disclosure/ Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Řešení? display_errors = Off Michal Špaček @spazef0rze www.michalspacek.cz
    • log_errors = On Michal Špaček @spazef0rze www.michalspacek.cz
    • Cross-Site Scripting (XSS) Útočník vloží na naši stránku vlastní HTML nebo JS kód Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • HTML Injection (Hi) hledej?search=a“><img src=“… value=“a“><img src=“…“> Michal Špaček @spazef0rze www.michalspacek.cz
    • Řešení? htmlspecialchars($string) Michal Špaček @spazef0rze www.michalspacek.cz
    • htmlspecialchars($string, ENT_QUOTES) Michal Špaček @spazef0rze www.michalspacek.cz
    • Nepoužívat strip_tags() proti XSS Michal Špaček @spazef0rze www.michalspacek.cz
    • SQL Injection Útočník modifikuje SQL dotaz Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • "… WHERE znacka = '{$_GET['znacka']}'" Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • '… WHERE id = ' . $_GET['id'] Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • ' OR 1=1; -Michal Špaček @spazef0rze www.michalspacek.cz
    • SELECT jmeno, adresa FROM vozidla WHERE rz = '$prectena'; Michal Špaček @spazef0rze www.michalspacek.cz
    • 1AM 1337 SELECT jmeno, adresa FROM vozidla WHERE rz = '1AM 1337'; Michal Špaček @spazef0rze www.michalspacek.cz
    • ' OR 1=1; -SELECT jmeno, adresa FROM vozidla WHERE rz = '' OR 1=1; --'; Michal Špaček @spazef0rze www.michalspacek.cz
    • Řešení? Prepared statements (PDO) Michal Špaček @spazef0rze www.michalspacek.cz
    • SELECT jmeno, adresa FROM vozidla WHERE rz = ?; ' OR 1=1; -Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • mysql_set_charset() mysql_real_escape_string() Michal Špaček @spazef0rze www.michalspacek.cz
    • Nepoužívat addslashes() proti SQLIA Michal Špaček @spazef0rze www.michalspacek.cz
    • 2012 … Michal Špaček @spazef0rze www.michalspacek.cz
    • 2012 … 56 Michal Špaček @spazef0rze www.michalspacek.cz
    • 2011 … 51 2010 … 59 2009 … 82 Michal Špaček @spazef0rze www.michalspacek.cz
    • Cross-Site Port Attack (XSPA) Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Distributed Denial-of-Service (DDoS) Michal Špaček @spazef0rze www.michalspacek.cz
    • Hashování hesel Nepoužívat MD5 Ani SHA-1 Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Řešení? SHA-512 a salt? hash_hmac() Michal Špaček @spazef0rze www.michalspacek.cz
    • oclHashcat md5($pass.$salt) md5($salt.$pass) sha1($pass.$salt) sha1($salt.$pass) Michal Špaček @spazef0rze www.michalspacek.cz
    • Lepší řešení? scrypt Michal Špaček @spazef0rze www.michalspacek.cz
    • bcrypt Blowfish hashing Michal Špaček @spazef0rze www.michalspacek.cz
    • crypt() salt=$2y$… password_hash() password_verify() Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • robots.txt Michal Špaček @spazef0rze www.michalspacek.cz
    • Michal Špaček @spazef0rze www.michalspacek.cz
    • /.svn/entries Michal Špaček @spazef0rze www.michalspacek.cz
    • http://hostname/.svn/text-base/index.php.svn-base Michal Špaček @spazef0rze www.michalspacek.cz
    • That's it. That's me. Michal Špaček www.michalspacek.cz @spazef0rze Přijďte na školení http://www.michalspacek.cz/skoleni