• Like
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

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

  • 280 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
280
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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