Upload
michal-spacek
View
746
Download
8
Embed Size (px)
Citation preview
DEFENSE IN DEPTHTisíc a jeden tip pro webovou bezpečnost
Slajdy jsou bez mých poznámek,nedávají tedy moc smysl pro toho, kdo na semináři nebyl.
Michal Špaček @spazef0rze www.michalspacek.cz
Web Inkognito VŠE @iz228 prosinec 2013
Zdroj: www.adobe.com
Říjen 2013
3 miliony karet + 38 milionů účtůNebo 150 milionů?
Zdrojové kódy
Michal Špaček www.michalspacek.cz
# Count Ciphertext Plaintext
--------------------------------------------------------------
1. 1911938 EQ7fIpT7i/Q= 123456
2. 446162 j9p+HwtWWT86aMjgZFLzYg== 123456789
3. 345834 L8qbAD3jl3jioxG6CatHBw== password
4. 211659 BB4e6X+b2xLioxG6CatHBw== adobe123
5. 201580 j9p+HwtWWT/ioxG6CatHBw== 12345678
6. 130832 5djv7ZCI2ws= qwerty
7. 124253 dQi0asWPYvQ= 1234567
8. 113884 7LqYzKVeq8I= 111111
9. 83411 PMDTbP0LZxu03SwrFUvYGA== photoshop
10. 82694 e6MPXQ5G6a8= 123123
Zdroj: http://stricture-group.com/files/adobe-top100.txt
Michal Špaček www.michalspacek.cz
Zdroj: http://nakedsecurity.sophos.com/2013/11/04/anatomy-of-a-password-disaster-adobes-giant-sized-cryptographic-blunder/
Michal Špaček www.michalspacek.cz
Hesla špatně zašifrovaná
Hesla v nápovědě v čitelné podobě
LOL
Michal Špaček www.michalspacek.cz
SQL Injection
Útočník modifikuje SQL dotaz
Michal Špaček www.michalspacek.cz
Michal Špaček www.michalspacek.cz
Michal Špaček www.michalspacek.cz
"… WHERE znacka = '{$_GET['znacka']}'"
Michal Špaček www.michalspacek.cz
Michal Špaček www.michalspacek.cz
'… WHERE id = ' . $_GET['id']
Michal Špaček www.michalspacek.cz
' OR 1=1; --
Michal Špaček www.michalspacek.cz
SELECT jmeno, adresa FROM vozidla
WHERE rz =
'$prectena';
Michal Špaček www.michalspacek.cz
SELECT jmeno, adresa FROM vozidla
WHERE rz = '1AM 1337';
1AM 1337
Michal Špaček www.michalspacek.cz
SELECT jmeno, adresa
FROM vozidla
WHERE rz = '' OR 1=1;
--';
' OR 1=1; --
Michal Špaček www.michalspacek.cz
Řešení?
Prepared statements (PDO)
Michal Špaček www.michalspacek.cz
SELECT jmeno, adresa
FROM vozidla
WHERE rz = ?;
' OR 1=1; --
Michal Špaček www.michalspacek.cz
Michal Špaček www.michalspacek.cz
mysql_set_charset()
mysql_real_escape_string()
Michal Špaček www.michalspacek.cz
Nepoužívat
addslashes()
proti SQLIA
Michal Špaček www.michalspacek.cz
Defense in Depth Fail=
SQL Injection+
Špatně uložená hesla
Michal Špaček www.michalspacek.cz
323 loginů+
SHA-1 hashů hesel
crackstation.net
Michal Špaček www.michalspacek.cz
crackstation.net
111 cracknutých hesel
Michal Špaček www.michalspacek.cz
exoddus
Tbvfs1
9plams
P1ll3d
Neznašov
Michal Špaček www.michalspacek.cz
111 cracknutých hesel
52 k loginu…@seznam.cz
Michal Špaček www.michalspacek.cz
52 loginů …@seznam.cz
Kolik stejných hesel jakona Seznam?
Zdroj: http://www.flickr.com/photos/77939791@N00/5721058729/
Michal Špaček www.michalspacek.cz
…@email.cz 2 z 8
…@centrum.cz 3 z 9
…@gmail.com 1 z 15
Michal Špaček www.michalspacek.cz
hashcat
164 dalších cracknutých hesel
Michal Špaček www.michalspacek.cz
164 dalších cracknutých hesel
2 také použita pro mailbox
Michal Špaček www.michalspacek.cz
v čitelné podobě (v plaintextu)
Michal Špaček www.michalspacek.cz
MD5(heslo)
SHA1(heslo)
CRC32(heslo)
Zdroj: http://arstechnica.com/security/2012/12/25-gpu-cluster-cracks-every-standard-windows-password-in-6-hours/
Michal Špaček www.michalspacek.cz
MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(MD5(
heslo))))))))))))))))))))))))))))))))
Zdroj: http://www.flickr.com/photos/92154034@N00/440515255/
Michal Špaček www.michalspacek.cz
MD5(heslo + salt)
SHA1(heslo + salt)
Michal Špaček www.michalspacek.cz
bcrypt!
Blowfish hashing
Michal Špaček www.michalspacek.cz
crypt() salt=$2y$…
password_hash()password_verify()
Michal Špaček www.michalspacek.cz
scryptPBKDF2
Zdroj: http://www.flickr.com/photos/40852961@N04/5439723004/
Zdroj: http://www.flickr.com/photos/59730822@N08/5701097734/
Zdroj: http://www.flickr.com/photos/reidrac/4696900602/
Michal Špaček www.michalspacek.cz
Cross-Site Scripting (XSS)
Útočník vloží na naši stránkuvlastní HTML nebo JS kód
Michal Špaček www.michalspacek.cz
Michal Špaček www.michalspacek.cz
Michal Špaček www.michalspacek.cz
Michal Špaček www.michalspacek.cz
Řešení?
htmlspecialchars($string)
Michal Špaček www.michalspacek.cz
htmlspecialchars($string, ENT_QUOTES)
Michal Špaček www.michalspacek.cz
Nepoužívat
strip_tags()
proti XSS
Michal Špaček www.michalspacek.cz
X-XSS-Protection: 0X-XSS-Protection: 1
X-XSS-Protection: 1; mode=block
Cross-Site Scripting
Michal Špaček www.michalspacek.cz
IE 8+
Chrome
Safari 4+
X-XSS-Protection
Michal Špaček www.michalspacek.cz
Michal Špaček www.michalspacek.cz
session.cookie_httponly: true
session.cookie_secure: true
HTTP-Only cookies
Michal Špaček www.michalspacek.cz
HttpOnly flag
IE 6 SP1+
a všechny další
Michal Špaček www.michalspacek.cz
default-src 'none'
script-src 'unsafe-inline'
script-src ajax.googleapis.com
Content-Security-Policy
Michal Špaček www.michalspacek.cz
Firefox 4+X-Content-Security-Policy
Chrome 25+, Firefox 23+, Opera 15+Content-Security-Policy
IE 10+X-Content-Security-Policy
Content-Security-Policy
I vaši aplikacinapadnouzlí útočníci
Jste připraveni?
Michal Špačekwww.michalspacek.cz