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:// 等引起的问题
标签:请求,SSRF,用户,token,CSRF,攻击者,客户端 From: https://www.cnblogs.com/xhzccy/p/17808352.html