跨站脚本与跨站请求伪造

跨站脚本( cross site script)XSS

  • 攻击方式
  1. 通过正常途径(评论输入、表单提交、富文本编辑器)注入拼接的恶意脚本,窃取用户信息
  • 解决方案
  1. 站点首页请求设置 content-security-policy响应头,规定哪些脚本可以被执行
  2. 对用户输入内容进行转义、防止恶意脚本被执行
  3. 响应的cookies设置httpOnly属性,规定脚本不能读取用户cookies

跨站请求伪造(cross site request forgery)CSRF

  • 攻击方式
  1. 用户登录A保存cookies,然后引导用户点访问攻击者提供的B站点,在B站点内访问A
  2. 这时发送的请求就会携带A站点的cookies
  • 解决方案
  1. 可以对 Cookie 设置 SameSite 属性。该属性表示 Cookie 不随着跨域请求发送,可以很大程度减少 CSRF 的攻击,但是该属性目 前并不是所有浏览器都兼容。
  2. 服务端通过检查http请求头头referer的值是不是这个本站,来判断是不是CSRF攻击。
  3. 用户登录时生成一个token或者sessionId,然后返回给用户,每次向服务端发起请求时请求头携带该令牌,服务端验证令牌是否存在且有效才放行该请求。
  4. 为关键操作添加验证码校验。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容