当前位置: 代码迷 >> 综合 >> CSRF SSRF
  详细解决方案

CSRF SSRF

热度:80   发布时间:2024-03-06 07:45:25.0

CSRF SSRF

1.CSRF的基本概念、缩写、全称

CSRF(Cross-site request forgery):跨站请求伪造。

PS:中文名一定要记住。英文全称,如果记不住也拉倒。

2.CSRF的攻击原理

用户是网站A的注册用户,且登录进去,于是网站A就给用户下发cookie。

从上图可以看出,要完成一次CSRF攻击,受害者必须满足两个必要的条件:

(1)登录受信任网站A,服务器并在本地生成Cookie。(如果用户没有登录网站A,那么网站B在诱导的时候,请求网站A的api接口时,会提示你登录)

(2)在不登出A的情况下,访问危险网站B(其实是利用了网站A的漏洞)。

我们在讲CSRF时,一定要把上面的两点说清楚。

温馨提示一下,cookie保证了用户可以处于登录状态,但网站B其实拿不到 cookie。

3、CSRF如何防御

方法一、Token 验证:(用的最多)

(1)服务器发送给客户端一个token;

(2)客户端提交的表单中带着这个token。

(3)如果这个 token 不合法,那么服务器拒绝这个请求。

方法二:隐藏令牌:

把 token 隐藏在 http 的 head头中。

方法二和方法一有点像,本质上没有太大区别,只是使用方式上有区别。

方法三、Referer 验证:

Referer 指的是页面请求来源。意思是,只接受本站的请求,服务器才做响应;如果不是,就拦截。

CSRF 和 XSS 的区别

区别一:

CSRF:需要用户先登录网站A,获取 cookie。XSS:不需要登录。

区别二:(原理的区别)

CSRF:是利用网站A本身的漏洞,去请求网站A的api。XSS:是向网站 A 注入 JS代码,然后执行 JS 里的代码,篡改网站A的内容。

xss的32个事件触发

1.SSRF的基本概念、缩写、全称

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。 一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人

2.ssrf 发生场景

只要当前服务器有发送请求的地方都可能存在ssrf

支持请求方式
gopher://
file:///
dict://
ftp://
ldap://
Ssh://
Telent://
tftp://
Php://

ssrf 如何防御

1.禁止私有Ip访问
2.限制远程连接的域名
3.防火墙限制
4.限制请求方式
5.过滤协议使用https

ssrf 绕过

1.通过url解析绕过只解析@后面的域名 列如: http://www.baidu.com@127.0.0.1
2.通过dns解析绕过私有地址限制探测内网 列 www.127.0.0.1.xip.io
3.编码进制绕过列如
利用八进制IP地址绕过 0177.0.0.1
利用十六进制IP地址绕过 0x7f000001
利用十进制的IP地址绕过 2130706433
4.TCP数据流绕过

0254.20.13.26

  相关解决方案