Web前端安全学习-CSRF

今天下午上了一堂前端安全的课,挺有意思,记录下来。在上课之前,我对安全的概念是:

用户输入是不可信的,所有用户的输入都必须转义之后才入库。

然后,上面这个这种方式,仅仅是防止SQL注入攻击,避免业务数据库被渗入。

在数据库有了一层安全保护之后,攻击者们的目标,从服务器转移到了用户身上。由此,出现了CSRF攻击和XSS攻击。

CSRF

CSRF (Cross-Site-Request-Forgery) 全称是跨站请求伪造。是攻击者伪造用户身份,向服务器发起请求已达到某种目的的攻击。

GET类型的CSRF

假如有一个业务系统API,其有一个点赞的api是http://domain.com/api/like?pid=111 ,如果想要刷pid为111的点赞,只需要构建一个简单的HTTP请求即可。

<img src='http://domain.com/api/like?pid=111'>

复制

因为Img标签会自动请求src的网络,估当用户浏览一个含有上述img标签的网址的时候,不经意间已经发出一个为pid=111内容进行点赞的操作。

其实这种写操作,最好改成POST的形式,起码增加了攻击者的门槛。

POST类型的CSRF

此类型的特点是,业务系统的api,对于写操作,是用POST的方式,而不是GET的方式。

和GET对比起来,攻击门槛高了一些,不能仅仅依靠img标签来构造HTTP请求,得靠表单来实现HTTP POST了。

<fo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值