SlideShare a Scribd company logo
Owasp Serbia: sqli,xss
Predrag Cujanović




Kontakt
• mail: predrag@cujanovic.com
• blog: http://www.cujanovic.com
• tw: http://www.twitter.com/cujanovic
• fb: http://www.facebook.com/predrag.cujanovic
Sadržaj:

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

• Šta je XSS napad?
• Tipovi XSS napada
• Opasnost XSS napada
• Kako sprečiti XSS napad?
Šta je XSS napad?
Tipovi XSS napada
• Non-Persistent (Reflected)
• Persistent (Stored)
• DOM Based
Opasnost XSS napada
XSS Shell
Owasp Serbia: sqli,xss
Opasnost XSS napada
Cookie stealing




Phishing
Kako sprečiti XSS napad?

• Filtriranjem podataka preko već predefinisanih php
  funkcija:

 strip_tags, htmlspecialchars, htmlentities

• Izbegavati pisanje sopstvenih funkcija samo za ovu
  namenu
SQL injection (SQLi) napad


  Šta je SQLi napad?

  Tipovi SQLi napada

  Opasnost SQLi napada

  Kako sprečiti SQLi napad?
Šta je SQLi napad?
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)
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'
Kako sprečiti SQLi napad?



    mysql_real_escape_string funkcija


    is_numeric funkcija


    cast to int – (int)
Insecure cryptographic storage
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))))
Insecure cryptographic storage
      oclHashcat-plus
Hvala na pažnji :)



Pitanja?

More Related Content

PPT
XSS SQLi sigurnost
PDF
Nikola Petrov-Bezbednost WordPress sajtova - Uvod u WordPress
PPT
SNS uputstvo za ostavljanje komentara - SNSNET
PPTX
Classifying intangible social innovation concepts using machine learning and ...
PPTX
Machine learning (ML) and natural language processing (NLP)
PPTX
Veštačka inteligencija
PPTX
AI an the future of society
PPTX
Machine learning prediction of stock markets
XSS SQLi sigurnost
Nikola Petrov-Bezbednost WordPress sajtova - Uvod u WordPress
SNS uputstvo za ostavljanje komentara - SNSNET
Classifying intangible social innovation concepts using machine learning and ...
Machine learning (ML) and natural language processing (NLP)
Veštačka inteligencija
AI an the future of society
Machine learning prediction of stock markets

More from Nikola Milosevic (20)

PPTX
Equity forecast: Predicting long term stock market prices using machine learning
PPTX
BelBi2016 presentation: Hybrid methodology for information extraction from ta...
PPTX
Extracting patient data from tables in clinical literature
PPTX
Supporting clinical trial data curation and integration with table mining
PPTX
Mobile security, OWASP Mobile Top 10, OWASP Seraphimdroid
PPTX
PPTX
Table mining and data curation from biomedical literature
PDF
PDF
Sentiment analysis for Serbian language
PDF
Http and security
PDF
Android business models
ODP
Android(1)
PPT
Sigurnosne prijetnje i mjere zaštite IT infrastrukture
PPTX
Mašinska analiza sentimenta rečenica na srpskom jeziku
PPT
PDF
Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...
PPT
Software Freedom day Serbia - Owasp open source resenja
PPT
OWASP Serbia - A6 security misconfiguration
PPT
OWASP Serbia - A5 cross-site request forgery
PPT
OWASP Serbia - A3 broken authentication and session management
Equity forecast: Predicting long term stock market prices using machine learning
BelBi2016 presentation: Hybrid methodology for information extraction from ta...
Extracting patient data from tables in clinical literature
Supporting clinical trial data curation and integration with table mining
Mobile security, OWASP Mobile Top 10, OWASP Seraphimdroid
Table mining and data curation from biomedical literature
Sentiment analysis for Serbian language
Http and security
Android business models
Android(1)
Sigurnosne prijetnje i mjere zaštite IT infrastrukture
Mašinska analiza sentimenta rečenica na srpskom jeziku
Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...
Software Freedom day Serbia - Owasp open source resenja
OWASP Serbia - A6 security misconfiguration
OWASP Serbia - A5 cross-site request forgery
OWASP Serbia - A3 broken authentication and session management
Ad

Owasp Serbia: sqli,xss

  • 2. Predrag Cujanović Kontakt • mail: predrag@cujanovic.com • blog: http://www.cujanovic.com • tw: http://www.twitter.com/cujanovic • fb: http://www.facebook.com/predrag.cujanovic
  • 3. Sadržaj: • Cross side scripting (XSS) napad • SQL injection (SQLi) napad • Insecure cryptographic storage • Primeri
  • 4. Cross side scripting (XSS) napad • Šta je XSS napad? • Tipovi XSS napada • Opasnost XSS napada • Kako sprečiti XSS napad?
  • 5. Šta je XSS napad?
  • 6. Tipovi XSS napada • Non-Persistent (Reflected) • Persistent (Stored) • DOM Based
  • 9. Opasnost XSS napada Cookie stealing Phishing
  • 10. Kako sprečiti XSS napad? • Filtriranjem podataka preko već predefinisanih php funkcija: strip_tags, htmlspecialchars, htmlentities • Izbegavati pisanje sopstvenih funkcija samo za ovu namenu
  • 11. SQL injection (SQLi) napad  Šta je SQLi napad?  Tipovi SQLi napada  Opasnost SQLi napada  Kako sprečiti SQLi napad?
  • 12. Šta je SQLi napad?
  • 13. 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)
  • 14. 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'
  • 15. Kako sprečiti SQLi napad?  mysql_real_escape_string funkcija  is_numeric funkcija  cast to int – (int)
  • 17. 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))))
  • 19. Hvala na pažnji :) Pitanja?