CSRF & SSRF

发布时间 2023-11-03 20:24:19作者: 楚颖i

CSRF & SSRF


CSRF

CSRF(Cross-Site Request Forgery)(跨站请求伪造漏洞)


原理

用户访问网站,网站给用户cookie,此时攻击者给用户发送了一个诱惑链接,链接里有对该网站的访问代码,用户点击攻击者的链接后,触发恶意代码,攻击者就利用用户的cookie,执行了对网站的请求(以接口形式调用请求)

恶意代码例:


发邮件,发消息,改密码,买东西,货币转账等方式威胁账户安全

bp -> engagement tools -> generate CSRF Poc 生成html代码,放到网站中,然后诱导用户点击网站,触发CSRF


防御

1、验证referer值(来源界面)

(攻击者可抓包修改referer值)


2、Cookie hashing:客户端对cookie生成摘要,发送给客户端,客户端验证cookie

(攻击者可用xss注入获取用户cookie值)


3、生成随机token:服务器生成随机token,保存并发送给用户,用户界面上有个隐藏字段用于保存token,用户每次访问需携带该token,当用户退出时,token失效

(依旧可通过xss注入获得token)例:


4、二次验证

如:验证码

5、waf

6、不要点不明链接


SSRF

SSRF(Server-Side Request Forgery,服务器端请求伪造) 是一种由攻击者构造请求,服务器发送请求的漏洞,攻击目标为外网无法访问的内部系统(内网)


成因

客户端向服务端请求远程服务器的资源,由服务端向远程服务器请求资源,再返回给客户端


如:传资源给该服务端时,服务端帮我们去特定url请求资源,再返回给客户端

当构造url为127.0.0.1:3306,如果服务端没有过滤,就会帮我们请求内网的资源。

可利用方式:


防御

1、限制请求的端口为web端口

2、限制不能访问内网IP

3、屏蔽返回的详细信息和错误信息

4、禁用不需要的协议,防止类似于file:///,gopher://,ftp:// 等引起的问题