Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

938 views

Published on

  • Login to see the comments

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

  1. 1. 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.
  2. 2. Útoky na web SQL Injection Cross-Site Scripting Full Path Disclosure … a stovky dalších Michal Špaček @spazef0rze www.michalspacek.cz
  3. 3. 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
  4. 4. Michal Špaček @spazef0rze www.michalspacek.cz
  5. 5. Michal Špaček @spazef0rze www.michalspacek.cz
  6. 6. Michal Špaček @spazef0rze www.michalspacek.cz
  7. 7. Řešení? display_errors = Off Michal Špaček @spazef0rze www.michalspacek.cz
  8. 8. log_errors = On Michal Špaček @spazef0rze www.michalspacek.cz
  9. 9. 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
  10. 10. Michal Špaček @spazef0rze www.michalspacek.cz
  11. 11. Michal Špaček @spazef0rze www.michalspacek.cz
  12. 12. Michal Špaček @spazef0rze www.michalspacek.cz
  13. 13. HTML Injection (Hi) hledej?search=a“><img src=“… value=“a“><img src=“…“> Michal Špaček @spazef0rze www.michalspacek.cz
  14. 14. Řešení? htmlspecialchars($string) Michal Špaček @spazef0rze www.michalspacek.cz
  15. 15. htmlspecialchars($string, ENT_QUOTES) Michal Špaček @spazef0rze www.michalspacek.cz
  16. 16. Nepoužívat strip_tags() proti XSS Michal Špaček @spazef0rze www.michalspacek.cz
  17. 17. SQL Injection Útočník modifikuje SQL dotaz Michal Špaček @spazef0rze www.michalspacek.cz
  18. 18. Michal Špaček @spazef0rze www.michalspacek.cz
  19. 19. Michal Špaček @spazef0rze www.michalspacek.cz
  20. 20. "… WHERE znacka = '{$_GET['znacka']}'" Michal Špaček @spazef0rze www.michalspacek.cz
  21. 21. Michal Špaček @spazef0rze www.michalspacek.cz
  22. 22. '… WHERE id = ' . $_GET['id'] Michal Špaček @spazef0rze www.michalspacek.cz
  23. 23. Michal Špaček @spazef0rze www.michalspacek.cz
  24. 24. ' OR 1=1; -Michal Špaček @spazef0rze www.michalspacek.cz
  25. 25. SELECT jmeno, adresa FROM vozidla WHERE rz = '$prectena'; Michal Špaček @spazef0rze www.michalspacek.cz
  26. 26. 1AM 1337 SELECT jmeno, adresa FROM vozidla WHERE rz = '1AM 1337'; Michal Špaček @spazef0rze www.michalspacek.cz
  27. 27. ' OR 1=1; -SELECT jmeno, adresa FROM vozidla WHERE rz = '' OR 1=1; --'; Michal Špaček @spazef0rze www.michalspacek.cz
  28. 28. Řešení? Prepared statements (PDO) Michal Špaček @spazef0rze www.michalspacek.cz
  29. 29. SELECT jmeno, adresa FROM vozidla WHERE rz = ?; ' OR 1=1; -Michal Špaček @spazef0rze www.michalspacek.cz
  30. 30. Michal Špaček @spazef0rze www.michalspacek.cz
  31. 31. mysql_set_charset() mysql_real_escape_string() Michal Špaček @spazef0rze www.michalspacek.cz
  32. 32. Nepoužívat addslashes() proti SQLIA Michal Špaček @spazef0rze www.michalspacek.cz
  33. 33. 2012 … Michal Špaček @spazef0rze www.michalspacek.cz
  34. 34. 2012 … 56 Michal Špaček @spazef0rze www.michalspacek.cz
  35. 35. 2011 … 51 2010 … 59 2009 … 82 Michal Špaček @spazef0rze www.michalspacek.cz
  36. 36. Cross-Site Port Attack (XSPA) Michal Špaček @spazef0rze www.michalspacek.cz
  37. 37. Michal Špaček @spazef0rze www.michalspacek.cz
  38. 38. Michal Špaček @spazef0rze www.michalspacek.cz
  39. 39. Distributed Denial-of-Service (DDoS) Michal Špaček @spazef0rze www.michalspacek.cz
  40. 40. Hashování hesel Nepoužívat MD5 Ani SHA-1 Michal Špaček @spazef0rze www.michalspacek.cz
  41. 41. Michal Špaček @spazef0rze www.michalspacek.cz
  42. 42. Řešení? SHA-512 a salt? hash_hmac() Michal Špaček @spazef0rze www.michalspacek.cz
  43. 43. oclHashcat md5($pass.$salt) md5($salt.$pass) sha1($pass.$salt) sha1($salt.$pass) Michal Špaček @spazef0rze www.michalspacek.cz
  44. 44. Lepší řešení? scrypt Michal Špaček @spazef0rze www.michalspacek.cz
  45. 45. bcrypt Blowfish hashing Michal Špaček @spazef0rze www.michalspacek.cz
  46. 46. crypt() salt=$2y$… password_hash() password_verify() Michal Špaček @spazef0rze www.michalspacek.cz
  47. 47. Michal Špaček @spazef0rze www.michalspacek.cz
  48. 48. Michal Špaček @spazef0rze www.michalspacek.cz
  49. 49. robots.txt Michal Špaček @spazef0rze www.michalspacek.cz
  50. 50. Michal Špaček @spazef0rze www.michalspacek.cz
  51. 51. /.svn/entries Michal Špaček @spazef0rze www.michalspacek.cz
  52. 52. http://hostname/.svn/text-base/index.php.svn-base Michal Špaček @spazef0rze www.michalspacek.cz
  53. 53. That's it. That's me. Michal Špaček www.michalspacek.cz @spazef0rze Přijďte na školení http://www.michalspacek.cz/skoleni

×