热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CSRF漏洞

目录CSRF产生的条件CSRF漏洞分类CSRF漏洞危害CSRF漏洞检测CSRF漏洞修复方案利用靶场CSRF-Minefield-V1.0漏洞复现CSRF产生的条件一、被攻击者在登陆

目录
  • CSRF产生的条件
  • CSRF漏洞分类
  • CSRF漏洞危害
  • CSRF漏洞检测
  • CSRF漏洞修复方案
  • 利用靶场CSRF-Minefield-V1.0漏洞复现


CSRF产生的条件

一、被攻击者在登陆了web网页,并且在本地生成了COOKIE

二、在COOKIE未过期的情况下,利用同一个浏览器访问了攻击者的页面。


CSRF漏洞分类

1、GET型

GET型CSRF漏洞,只需要构造URL,然后诱导受害者访问利用。

2、POST型

POST型CSRF漏洞,需要构造自动提交或点击提交的表单,然后诱导受害者访问或点击利用。


CSRF漏洞危害

未验证 Referer或者未使用有效的Token导致黑客可以利用受害者的身份操控浏览器。


CSRF漏洞检测

1、GET类型的CSRF的检测

如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,即存在CSRF漏洞。

2、POST类型的CSRF的检测

如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,再去掉referer参数的内容,如果仍然可以,说明存在CSRF漏洞,可以利用构造外部form表单的形式,实现攻击。如果直接去掉referer参数请求失败,这种还可以继续验证对referer的判断是否严格,是否可以绕过。

3、特殊情况的POST类型的CSRF检测

如果上述post方式对referer验证的特别严格,有的时候由于程序员对请求类型判断不是很严格,可以导致post请求改写为get请求,从而CSRF。直接以get请求的方式进行访问,如果请求成功,即可以此种方式绕过对referer的检测,从而CSRF。


CSRF漏洞修复方案

1、添加随机token值,并验证。

2、验证Referer

3、关键请求使用验证码功能


利用靶场CSRF-Minefield-V1.0漏洞复现

这个靶机放置了存在CSRF漏洞的CMS。

先看看hotelcal这个cms。进入到添加用户和删除用户的功能下。

点击Create New Account来增加一个用户。填写好信息,然后点击save抓包。

可以看到增加用户功能的数据包里面没有添加token进行csrf防护。



利用burp的插件CSRF POC生成exp。

将这段exp复制下来保存在kali的/var/www/html目录下,格式是html。

kali开启Web服务。

将前面的exp放在根目录下。



访问exp。



可以看到有一个按钮,当我们点击的时候就会生成一个用户。可以看到多出来一个新用户。

删除用户功能也存在CSRF漏洞,利用方法和增加用户一致。

burp生成的exp有一个按钮,需要受害用户点击,改一下exp,改成直接访问链接就直接增加一个用户。














推荐阅读
  • Spring Security核心概念与应用实践
    本文详细介绍了Spring Security的核心机制,包括其作为一系列过滤器的工作原理,如何实现用户认证与授权,以及常见的配置方法和高级特性如CSRF防护。 ... [详细]
  • 尽管PHP是一种强大且灵活的Web开发语言,但开发者在使用过程中常会陷入一些典型的陷阱。本文旨在列出PHP开发中最为常见的10种错误,并提供相应的预防建议。 ... [详细]
  • 开发笔记:新手DVWACSRF
    开发笔记:新手DVWACSRF ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 探索Squid反向代理中的远程代码执行漏洞
    本文深入探讨了在网站渗透测试过程中发现的Squid反向代理系统中存在的远程代码执行漏洞,旨在帮助网站管理者和开发者了解此类漏洞的危害及防范措施。 ... [详细]
  • 本文探讨了如何在Java后端配置CORS以支持或禁止携带凭证(如Cookie),并提供了前后端的具体实现方法。 ... [详细]
  • 本文从数据埋点的设计者视角出发,全面解析数据埋点的技术原理、应用场景及其管理方法,涵盖基础知识、实施策略、数据处理流程等内容。 ... [详细]
  • 本文探讨了如何在Django中创建一个能够根据需求选择不同模板的包含标签。通过自定义逻辑,开发者可以在多个模板选项中灵活切换,以适应不同的显示需求。 ... [详细]
  • django项目中使用手机号登录
    本文使用聚合数据的短信接口,需要先获取到申请接口的appkey和模板id项目目录下创建ubtils文件夹,定义返回随机验证码和调取短信接口的函数function.py文件se ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 程序员妻子吐槽:丈夫北漂8年终薪3万,存款情况令人意外
    一位程序员的妻子在网上分享了她丈夫在北京工作八年的经历,月薪仅3万元,存款情况却出乎意料。本文探讨了高学历人才在大城市的职场现状及生活压力。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 近期,谷歌公司的一名安全工程师Eduardo Vela在jQuery Mobile框架中发现了一项可能引发跨站脚本攻击(XSS)的安全漏洞。此漏洞使得使用jQuery Mobile的所有网站面临潜在的安全威胁。 ... [详细]
author-avatar
rachel_wxh_614
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有