关于Web安全的理解

最近在学习web安全相关的一些知识,目前对web安全也只有了一些浅显的理解,下面记录个人一些理解。
由于对这一块懂的东西不是不少,有些地方可能写的不对或者不够全,因此欢迎你们给点问题和建议。css

目前只看了三种攻击方式
一.XSS跨站脚本攻击
二.sql注入
三.CSRF跨站请求伪造html

一.XSS跨站脚本攻击

反射型XSS攻击
此种攻击通俗点讲,就是在用户输入的地方,输入一些恶意的脚本,一般是textarea,而后经过某种方式当即执行,而后获取到一些想要获得的信息,好比cookie等,而后发送到本身的服务器。(没有想到具体哪些案例会当即执行)
此种攻击的解决方案通常是在用户输入的地方作一些过滤,过滤掉这一部分恶意脚本。
存储型XSS攻击
此种攻击通俗点讲,就是在用户输入的地方,输入一些恶意的脚本,一般是富文本编辑器或者textarea等地方,而后在读取富文本的时候,若是没有作过滤和限制,就会直接执行用户输入的恶意脚本。存储型说的就是数据会存储到服务器或者数据库。
此种攻击的解决方案和上面同样,在用户输入的地方作一些过滤,过滤掉这一部分恶意脚本。
dom型XSS攻击
dom型XSS攻击也是在用户输入的地方输入一些脚本,不一样的是这个脚本可能直接就在客户端执行,不通过服务器。web

xss攻击基本是在用户输入的地方输入一些恶意脚本,已达到如下的目的:sql

  1. 获取cookie等一些重要的信息
  2. 插入一些js或者css修改和破坏页面结构
  3. 执行某段js,使页面跳转到其余页面

基本的防护方法就是在用户输入的地方或者显示的地方:数据库

  1. 过滤危险节点,如script,style,link,iframe等
  2. 过滤一些危险的属性,如href,src等
  3. 对cookie设置httpOnly

二.CSRF攻击

关于CSRF攻击的知识,我是看了这篇博客的Web安全之CSRF攻击,我的以为这篇文章还不错,简单清晰明了。
我我的感受CSRF攻击和XSS攻击有点相似,也是在用户输入的地方输入一些脚本,好比一个图片,在图片的src里加上某个地址,当页面再次载入这个输入的内容的时候,就会发送请求,从而达到某种目的。
CSRF攻击和xss有点相似,不同的是,CSRF冒充用户在站内作一些正常的操做,如关注某我的等,而XSS则是获取一些信息,作一些恶意的操做等,其实具体的区别我也不是很理解,有机会的话再继续深刻探究一下。
防护CSRF攻击的方法主要是:小程序

  1. 修改数据的接口,尽可能使用post请求
  2. 使用cookie同源策略

推荐的文章Web安全之CSRF攻击其实还讲了其余的几种方法,可是都没接触过,不太理解,因此没有写下来。微信小程序

三.SQL注入

我以前写过一个获取微信小程序码的接口,该接口对外开放没有作任何限制,而后根据一些参数建立文件夹和文件名等信息,发现常常会有一些SELECT开头的文件夹和文件,SQL注入应该就是传入的参数里面带有SQL语句,后面我加了一些过滤和判断就没有出现过了。
防护的主要措施就是:安全

  1. 对用户输入的内容进行校验和过滤
  2. 不要动态拼接SQL语句
  3. 不要使用管理员权限链接数据库
  4. 敏感字段要进行MD5加密
相关文章
相关标签/搜索