web安全(xss攻击和csrf攻击)
2024-08-31 01:42:45
1、CSRF攻击:
CSRF(Cross-site request forgery):跨站请求伪造。
(1)、攻击原理:
如上图,在B网站引诱用户访问A网站(用户之前登录过A网站,浏览器 cookie 缓存了身份验证信息),
通过调用A网站的接口攻击A网站。
(2)、防御措施:
1)token验证:登陆成功后服务器下发token令牌存到用户本地,再次访问时要主动发送token,浏览器只能主动发cookie,做不到主动发token
2)referer验证:判断页面来源是否自己站点的页面,不是不执行请求
3)隐藏令牌: 令牌放在http header头中,而不是链接中
2、XSS 攻击:
XSS(Cross Site Scripting):跨域脚本攻击。
(1)、攻击原理:
不需要你做任何的登录认证,它会通过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是js、html代码块等)。
(2)、防御措施:
令xss无法攻击,比如对注入的东西进行转义、编码、过滤、校正等。
3、区别:
CSRF:需要用户先登录网站A,获取 cookie。XSS:不需要登录。
CSRF:是利用网站A本身的漏洞,去请求网站A的api。XSS:是向网站 A 注入 JS代码,然后执行 JS 里的代码,篡改网站A的内容。
最新文章
- cas单点登录搭建
- [LeetCode][Java]Triangle@LeetCode
- JavaScript的DOM操作-非重点部分
- 【英语】Bingo口语笔记(21) - 表达“请客吃饭”
- Python练习题 025:判断回文数
- oracle的控制语句if和循环语句loop while for
- Android(java)学习笔记151: SurfaceView使用
- Maximum Subarray (JAVA)
- MRD-5012型RS232,RS485有源隔离中继模块,采用磁隔离技术,金升阳DC-DC隔离电源,纯硬件自适应方向,速度高达256000bps
- c++程序猿经典面试题
- centos GUI界面与命令行的切换
- Java虚拟机:如何判定哪些对象可回收?
- C#十进制与任意进制的转换
- sed命令实现文件内容替换总结案例
- app优化之流量节省
- 基于akka-http搭建restfull框架
- JMS学习(八)-ActiveMQ Consumer 使用 push 还是 pull 获取消息
- AndrodStudio报错: Cannot launch AVD in emulator.
- Python读取大文件的";坑“与内存占用检测
- 【SQL】【Join基础】了解sql中的join用法,看这一篇就够了