热门标签 | 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,改成直接访问链接就直接增加一个用户。














推荐阅读
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社区 版权所有