【安全】CSRF & XSS

Cross-Site Request Forgery 跨站请求伪造

攻击者借助受害者的cookie骗取服务器信任

攻击者构造某个接口的请求参数,诱导用户点击或者用特殊方式让此请求自动执行,用户在登录状态下这个请求被服务端接收后被误认为是用户合法操作

防御方式

  1. token验证
  2. referer验证

Cross-Site Scripting 跨站脚本攻击

原理

产生的根源:将不受信任的用户内容直接拼接在html(或js、css)文档中。当 这个内容经过精心构造后,原本应该被解释成内容的部分被浏览器解释成脚本执行,从而达到执行攻击者逻辑的目的。

分类

存储型

> 将用户数据保存在服务端,具有很强的稳定性
>
> e.g. 博客、评论

反射型

非持久型XSS

往往需要黑客诱使点击恶意链接生效

DOM

常见攻击目的

  • cookie劫持:攻击者盗取cookie,伪装成用户操作网站
  • 钓鱼:利用用户对当前访问网站的信任,在当前访问网站页面弹出或插入输入框让用户输入账号密码并发送到攻击者的服务器
  • 联合csrf进行攻击:伪装成用户向网站发送请求

防御方式

  1. 输入端进行检查和处理(编码、转义、过滤)

    • 存在的问题:

      • 改变用户输入的语义(原为富文本,需要保存html标签)
      • 编码转义后字符与输入不一致,引起后端校验规则和存储长度限制规则不一致的问题
  2. 输出端进行检查和处理

    • 存在的问题:内容可能在多处使用,容易有疏漏

红皇后假说
你必须尽力地不停地跑,才能使你保持在原地
80 声望
1 粉丝
0 条评论
推荐阅读
【ONVIF】Concepts
ONVIFOpen Network Video Interface Forum 开放型网络视频接口论坛IPCONVIF 服务端(相对于VMS和VNR)NVRONVIF 客户端(相对于IPC):获取设备相关信息ONVIF服务端(相对于VMS) :负责协议转发,使VMS能够访问设...

spoonysnail阅读 644

一文搞懂 XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持
XSS攻击者通过篡改网页,注入恶意的 HTML 脚本,一般是 javascript,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式

tiny极客4阅读 780评论 1

封面图
http 和 https 的通信过程及区别
🎈 两者的区别端口: http 端口号是80, https 端口号是443传输协议: http 是超文本传输协议,属于明文传输; https 是安全的超文本传输协议,是经过 SSL 加密后的传输协议安全性: https 使用了 TLS/SSL 加密,...

tiny极客2阅读 2.8k评论 2

封面图
支付对接常用的加密方式介绍以及java代码实现
加密解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只要通信需要...

京东云开发者3阅读 458

封面图
JWT 登录认证
🎈 Token 认证流程作为目前最流行的跨域认证解决方案,JWT(JSON Web Token) 深受开发者的喜爱,主要流程如下:客户端发送账号和密码请求登录服务端收到请求,验证账号密码是否通过验证成功后,服务端会生成唯一...

tiny极客2阅读 957评论 1

封面图
ctf(pwn&reverse)总结
F5/tab 查看伪代码空格 查看汇编代码视图->打开子视图->字符串 :查看所有字符串编辑->修补程序 :修改程序 修改完后点击修补程序应用到输入文件即可保存修改

白风之下阅读 2.9k

什么是跨域?如何解决跨域?
跨域: 它是由浏览器的 同源策略 造成的,是浏览器对 JavaScript 实施的安全限制,所谓同源(即指在同一个域)就是两个页面具有相同的协议 protocol,主机 host 和端口号 port 则就会造成 跨域

tiny极客1阅读 807评论 1

封面图
80 声望
1 粉丝
宣传栏