19

Owasp Serbia: sqli,xss

Embed Size (px)

DESCRIPTION

Predrag Cujanovic from OWASP Serbia talking about Cross site scripting, SQL injection and insecure cryptographic storage. Presentation was held on 9.7.2012. on faculty of Electrical Engineering, University of Belgrade.

Citation preview

Page 1: Owasp Serbia: sqli,xss
Page 2: Owasp Serbia: sqli,xss

Predrag Cujanović

Kontakt• mail: [email protected] • blog: http://www.cujanovic.com• tw: http://www.twitter.com/cujanovic • fb: http://www.facebook.com/predrag.cujanovic

Page 3: Owasp Serbia: sqli,xss

Sadržaj:

•Cross side scripting (XSS) napad• SQL injection (SQLi) napad• Insecure cryptographic storage•Primeri

Page 4: Owasp Serbia: sqli,xss

Cross side scripting (XSS) napad

• Šta je XSS napad?• Tipovi XSS napada•Opasnost XSS napada• Kako sprečiti XSS napad?

Page 5: Owasp Serbia: sqli,xss

Šta je XSS napad?

Page 6: Owasp Serbia: sqli,xss

Tipovi XSS napada

• Non-Persistent (Reflected)• Persistent (Stored)• DOM Based

Page 7: Owasp Serbia: sqli,xss

Opasnost XSS napada

XSS Shell

Page 8: Owasp Serbia: sqli,xss
Page 9: Owasp Serbia: sqli,xss

Opasnost XSS napada

Cookie stealing

Phishing

Page 10: Owasp Serbia: sqli,xss

Kako sprečiti XSS napad?

• Filtriranjem podataka preko već predefinisanih php funkcija:

strip_tags, htmlspecialchars, htmlentities

• Izbegavati pisanje sopstvenih funkcija samo za ovu namenu

Page 11: Owasp Serbia: sqli,xss

SQL injection (SQLi) napad

Šta je SQLi napad? Tipovi SQLi napada Opasnost SQLi napada Kako sprečiti SQLi napad?

Page 12: Owasp Serbia: sqli,xss

Šta je SQLi napad?

Page 13: Owasp Serbia: sqli,xss

Tipovi SQLi napada

Incorrectly filtered escape characters(SELECT * FROM users WHERE name = '' OR '1'='1' -- ';)

Incorrect type handling(SELECT * FROM userinfo WHERE id=1;DROP TABLE users;)

Blind SQL injection(SELECT booktitle FROM booklist WHERE bookId = 'OOk14cd' AND '1'='1';)

Time Based SQL injection (download_key=1' AND 6424=BENCHMARK(5000000,MD5(CHAR(102,100,78,99))) AND 'uzOQ'='uzOQ)

Page 14: Owasp Serbia: sqli,xss

Opasnost SQLi napada

Pristup podacima u bazi (UNION SELECT 1,2,3,4--)

Izmena, brisanje podataka u bazi – DROP users;

Čitanje fajlova - load_file('/etc/passwd') ili load_file(0x2f6574632f706173737764) funkcija

Pravnjenje novih fajlova - INTO OUTFILE '/var/www/victim.com/shell.php'

Page 15: Owasp Serbia: sqli,xss

Kako sprečiti SQLi napad?

mysql_real_escape_string funkcija

is_numeric funkcija

cast to int – (int)

Page 16: Owasp Serbia: sqli,xss

Insecure cryptographic storage

Page 17: Owasp Serbia: sqli,xss

Insecure cryptographic storage

0. koristiti neki hash algoritam

1. ne korisiti zastrarele hash algoritme (md5 je zvanično mrtav)

2. korisiti salt, najbolje ih ne čuvati u bazi (primer Wordpress)

3. korisiti dva različita hash algoritma (sha1($salt.(des($salt.$pass.$salt))))

Page 18: Owasp Serbia: sqli,xss

Insecure cryptographic storage oclHashcat-plus

Page 19: Owasp Serbia: sqli,xss

Hvala na pažnji :)

Pitanja?