CSRF跨站请求伪造

CSRF

CSRF:跨站请求伪造,是一种挟制用户在当前已登录的Web应用程序上执行非本 意的操作的攻击方法。

CSRF漏洞

CSRF漏洞概念:由于网站服务器对用户浏览器的信任导致用户在当前已登录的 Web站点的状态下,访问了攻击者构造的恶意连接,从而执行非本意操作的漏 洞;

过程:

  • 用户打开浏览器,登录信任网站A,输入账号密码请求登录网站A。

  • 用户信息通过验证后,网站A产生Cookie信息返回给用户浏览器。

  • 用户在未退出网站A之前,在 同一浏览器 又打开了一个网站B。

  • 网站B 接收到用户的访问请求后,网站B将包含向网站A请求的恶意的 代码返回给浏览器,用户浏览器渲染执行,触发恶意请求。

  • 该条请求发送后,可信网站会以存储在浏览器中用户的Cookie处理该 请求,导致用户执行恶意操作。

漏洞危害
  • 以受害者名义发送邮件,发消息。

  • 盗取受害者的账号,甚至购买商品,虚拟货币转账。

  • 修改受害者的网络配置(比如修改路由器DNS、重置路由器密码)。

  • 网站后台创建管理员用户,破坏网站,获取服务器权限等。

检测漏洞

一般在用户密码修改、信息修改、添加账号、发布文章等一些敏感操作位置, 如果没有 二次校验 (图像验证码、短信验证码、原密码)那么就可以尝试检 测。

CSRF漏洞利用条件:

1.用户处于登陆目标网站的状态(Cookie)----已登录 未注销

2.用户点击攻击者发送的恶意URL连接

挖掘与修复
漏洞挖掘

目标:只要是存在用户注册及登陆站点都可以

intitle:用户注册

inurl:register.PHP/ASPX/JSP

挖掘思路:

1.注册两个账户 (test1/test2)

2.在账户的功能处抓包测试(修改用户头像/信息/状态/购买/结算/密码修改/ 地址添加/商品评论...)(form表单数据包)

3.查看是否是将修改的信息放在另外一个账户访问,是否成功修改信息

4.如果成功修改用户的信息,那就存在CSRF漏洞,查看信息/提交漏洞

漏洞防护

1、验证请求头中的HTTP Referer字段

2、在请求包中添加Token并验证

3、在HTTP头中自定义属性并验证

4、高危操作加入验证码机制

5、添加自动注销功能

6、添加二次验证功能

扩展token(一次性令牌)

1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的 去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并 作出相应提示。

2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求 的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给 客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上 用户名和密码。

3、使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的 查询数据库,使服务器更加健壮。

漏洞区别

XSS与CSRF之间的异同点:

1.相同点:都是针对客户端进行攻击的漏洞

2.不同点:CSRF没有盗取用户的cookie而是直接利用完成客户端用户非本意 的操作,XSS是窃取Cookie在进行利用;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值