XSS和CSRF小总结

219 阅读1分钟

被这两个攻击搞得很烦,之前有了解但从没搞懂,这次花了点时间学习,打算做个简要概括🚀

XSS 是通过得到 session id 或者jwt等其他敏感信息来做一些“坏事”,比如拿到这个session id去发一个转账的http请求(不是浏览器端,浏览器发http限制太多)

本质:得到 session id 或者jwt等其他敏感信息

预防:

1、httpOnly

2、各种检查input,防止注入脚本(其实设置了httpOnly,就是注入了脚本也没有用)


CSRF 是通过伪造一个网站,诱导用户去触发某个操作,这个操作假设也是转账,前提是用户在目标网站有了登录状态。利用到cookies会自动发送的特点,“伪造”了一个让服务器觉得正常的请求。与XSS最大不同在于,他的目的并不是得到session ID,而是转账本身,XSS只是得到session ID而已。

本质:通过诱导,发送伪造请求,直接触发敏感操作

预防

1、使用自定义的token,而不是自动发送的cookie

2、使用SameSite,strict时,会禁止第三方 cookies

3、验证origin(可以自定义,安全性不行)