什么是csrf和xss,怎么防范它

xss攻击

xss本质是html注入,和sql注入差不多. SQL,HTML,人类语言都是指令和数据混在一起的,都存在注入风险(程序根据分隔符,标签识别指令和数据,人类则是根据语境,语义和日常经验判断)
比如注册用户时,用户输入"张三"并提交,服务端会生成"

欢迎新用户,张三

"传给浏览器.如果用户输入

服务端就会生成

欢迎新用户,

输入用户内容就会被浏览器识别为指令执行,这就是xss注入;
攻击者也是根据这个原理,输入一个有特殊语义的名字,被其他客户端识别为指令,从而完成了一次漂亮的存储型xss注入式攻击.

csrf攻击

Cross-site request forgery

什么是csrf和xss,怎么防范它_第1张图片

假设网站中有一个通过 Get 请求提交用户评论的接口,那么攻击者就可以在钓鱼网站中加入一个图片,图片的地址就是评论接口

如果接口是 Post 提交的,就相对麻烦点,需要用表单来提交接口


    
        
    

    
        
    

如何防御

防范 CSRF 可以遵循以下几种规则:

  1. Get 请求不对数据进行修改
  2. 不让第三方网站访问到用户 Cookie
  3. 阻止第三方网站请求接口
  4. 请求时附带验证信息,比如验证码或者 token

防抓包

使用HTTPS(HTTPS 还是通过了 HTTP 来传输信息,但是信息通过 TLS 协议进行了加密。)替换HTTP,对传输的数据进行加密,这样,当请求的信息被抓包工具抓包后,也无法修改提交的数据。

 

你可能感兴趣的:(什么是csrf和xss,怎么防范它)