码迷,mamicode.com
首页 > Web开发 > 详细

web安全基础知识

时间:2019-09-27 01:27:32      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:注入   用户   拼接   特殊字符   开源   工具   权限   script   csrf   

常见的web安全问题,原理和防范措施。 

  • SQL注入
  • XSS(跨站脚本攻击, Cross-Site Scripting)
  • CSRF(跨站请求伪造, Cross-site request forgery)

 

什么是SQL注入?

  • 通过构造特殊的输入参数传入web应用,导致后端执行了恶意的SQL
  • 通常由于程序员未对输入进行过滤,直接动态拼接SQL产生
  • 可以使用开源工具sqlmap,SQLninja 检测。

 

如何防范SQL注入?

原则:永远不要相信用户的任何输入

  • 对输入参数做好检查(类型和范围); 过滤和转义特殊字符
  • 不要直接拼接sql, 使用ORM可以大大降低sql注入的风险
  • 数据库层: 做好权限管理配置; 不要明文储存敏感信息。

 

什么是xss(Cross Site Scripting), 跨站脚本攻击

  • 恶意用户将代码植入到提供给其他用户使用的页面中,未经转义的恶意代码输出到其他用户的浏览器中被执行
  • 用户浏览页面的时候嵌入页面的脚本(js)会被执行,攻击用户。 比如dom中: document.cookie 可以获取页面的cookie信息。
  • 主要分为两类: 反射型(非持久型), 存储型(持久型)

 

如何防范XSS呢?

不要相信用户的任何输入!

  • 过滤(输入和参数)。 对敏感标签<script> <img><a>等进行过滤。
  • 转义。 对常见的符号("&", "<" , ">")转义(python3 html.escape)

web安全基础知识

标签:注入   用户   拼接   特殊字符   开源   工具   权限   script   csrf   

原文地址:https://www.cnblogs.com/dairuiquan/p/11595108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!