WEB漏洞--CSRF及SSRF案例
CSRF案例
原理
检测是否存在CSRF(跨站请求伪造)漏洞
1. 手动测试
构造恶意请求:创建一个恶意网页或电子邮件,包含指向目标网站的恶意请求(如更改密码或发送消息的URL)。诱使用户访问该恶意请求,观察目标网站是否执行了预期的恶意操作。
检查请求参数:查看目标网站的表单提交是否包含CSRF令牌。如果表单中缺少令牌或令牌未在服务器端进行验证,则可能存在CSRF漏洞。
2. 自动化工具检测
Burp Suite:一款集成的安全测试平台,可以抓取请求、修改请求参数并生成CSRF PoC(概念验证代码),帮助检测和验证CSRF漏洞。
实际场景
CSRF跨站点请求伪造:特点是借助一个第三方地址访问
实际场景:我在一个网站上登陆了自己的管理员身份,此时访问了其他的网站,而这个网站CMS源码上写了针对我的脚本(假设知道我的原始url)
观察网络请求:存在一条这个请求
自动发送请求,用自己的身份执行了别人的脚本
或者说是由于已经登录,所以没有进行拦截,别人用他的身份直接执行了脚本 -# 感觉这个是对的
防御措施
设置随机token-->每次发送请求都会带上一个随机令牌,令牌不同无法执行
检验referer来源,请求时判断请求链接是否为当前管理员正在使用的页面(管理员在编辑文章,hook发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败),如下图
SSRF案例
原理
SSRF(Server-SideRequestForgery服务器端请求伪造)
目标:从外网无法访问的内部系统
原因:由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制
实际案例
在一个购物平台或者其他网站上,提供了一个可以输入图片或者其他url地址的内容框,此时该网站由于需要获得该内容,会主动请求该url地址,
即假借目标的web漏洞为跳板,攻击他自己的内网信息(hook直接访问内网会被拒绝,借助目标主机,则不会被拒绝),相当于ssrf给攻击者提供了一个大门,来访问其内网的一些ip和端口
漏洞利用
漏洞攻击:端口扫描,指纹识别,漏洞利用,内网探针等
各个协议调用探针:http,file,dict,ftp,gopher等
从WEB功能上寻找漏洞
1)分享:通过URL地址分享网页内容
2)转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3)在线翻译:通过URL地址翻译对应文本的内容。比如国内公司有百度、有道等
4)图片加载与下载:通过URL地址加载或下载图片
5)图片、文章收藏功能
6)未公开的api实现以及其他调用URL的功能
SSRF攻击可以针对真实内网
内网服务访问:SSRF攻击可以利用服务器的信任关系,绕过外部网络的防火墙和访问控制,直接访问内网中的服务和资源。例如,攻击者可以利用SSRF漏洞访问内网中的管理面板、数据库接口或其他敏感服务。
内部网络侦察:攻击者可以通过SSRF对内部网络进行侦察,扫描内网中的活动主机和服务,进一步扩大攻击范围。
SSRF攻击的主要目标
内部服务和应用:攻击者可以利用SSRF访问内部的Web服务、API接口、数据库等,这些服务通常不会对外部网络开放。
拒绝服务攻击(DoS):攻击者可以利用SSRF向内部服务器发送大量请求,导致服务器资源耗尽,从而引发拒绝服务。
SSRF攻击的范围
内部网络:SSRF攻击可以穿透外部网络的防护,直接对内部网络进行攻击,包括访问内部的Web服务、数据库、管理接口等。
外部服务:除了攻击内部网络,SSRF还可以被用来攻击外部的第三方服务,例如通过服务器代理向外部API发送恶意请求。