CSRF&SSRF

CSRF

CSRF全称:Cross-site request forgery,即,跨站请求伪造,也被称为 “One Click Attack” 或 “Session Riding”,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。

原理

  1. 用户A登录了自己常用的网站 www.yinhang.com, 登录成功后,cookie中会包含A的登录信息
  2. 骗子 利用广告或者链接等诱导你打开网站 www.jiamao.com。该网站中会利用form表单或者其他方式,向网站 www.yinhang.com 发送请求,网站的接口请求格式一般很容易获取到,例如 www.yinhang.com/api/zhuanzhang?account=A&count=10000&to=pianzi 发送的请求会自动携带上www.yinhang.com的cookie信息,即你的身份验证信息
  3. 服务器端在收到请求后,检验身份信息是正确的,然后整个攻击就完成了

危害

修改用户信息,如用户的头像、发货地址等。

可能执行恶意操作,比如修 改密码、添加/删除好友或者点赞/转发/评论/私信。

甚至购买商品,虚拟货币转账,修改受害者的网络配置(比如修改路由器DNS、重置路由器密码)等

造成的问题包括:个人隐私泄露、机密资料泄露、用户甚至企业的财产安全。

一句话概括CSRF的危害:盗用受害者身份,受害者能做什么,攻击者就能以受害者的身份做什么。

防御

CSRF通常从第三方网站发起,被攻击的网站无法防止攻击发生,只能通过增强自己网站针对CSRF的防护能力来提升安全性。

Referer的校验(同源策略)

referer 伪造

添加 token 并验证

双重Cookie验证

Samesite Cookie(同站cookie)

利用条件

CSRF的攻击过程两个条件:
1、目标用户已经登录了网站,能够执行网站的功能。
2、目标用户访问了攻击者构造的URL。
CSRF安全问题黑盒怎么判断:
1、看验证来源不-修复
2、看凭据有无token--修复
3、看关键操作有无验证-修复
-CSRF安全问题白盒怎么审计:
同黑盒思路一样,代码中分析上述三看

测试流程

CSRF

1.直接复现有没有

成功->有漏洞

失败->代码->缺陷过滤(绕过)->有漏洞

失败->代码->完整过滤->没有漏洞

其他漏洞:

关键函数和应用功能

SSRF

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。

原理

SSRF漏洞原理

原文来自freebuf

(1)攻击者可以通过公网访问到某个web服务器;

(2)但是攻击者是无法通过公网访问到内网的其他设备或者办公区域;

(3)这时候如果想进行内网探测,web服务器同时存在SSRF漏洞,就能以web服务器作为跳板,进而攻击其他服务器或区域。

危害

1.内外网的端口和服务扫描

2.攻击运行在内网或本地的应用程序

3.对内网web应用进行指纹识别,识别企业内部的资产信息

4.攻击内网的web应用,主要是使用GET参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等)

5.利用file协议读取本地敏感数据文件等

防御

1、过滤返回的信息,如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。

2、统一错误信息,避免用户可以根据错误信息来判断远程服务器的端口状态。

3、限制请求的端口,比如80,443,8080,8090。

4、禁止不常用的协议,仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp://等引起的问题

5、使用DNS缓存或者Host白名单的方式。

测试点

SSRF黑盒可能出现的地方:
1.社交分享功能:获取超链接的标题等内容进行显示
2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3.在线翻译:给网址翻译对应网页的内容
4.图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片
5.图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验
6.云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试
7.网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作
8.数据库内置功能:数据库的比如mongodb的copyDatabase函数
9.邮件系统:比如接收邮件服务器地址
10.编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等
11.未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞
一些的url中的关键字:share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain……
12.从远程服务器请求资源(upload from url 如discuz!;import & expost rss feed 如web blog;使用了xml引擎对象的地方 如wordpress xmlrpc.php)
-SSRF白盒可能出现的地方:
1、功能点抓包指向代码块审计
2、功能点函数定位代码块审计
-SSRF常见安全修复防御方案:
1、禁用跳转
2、禁用不需要的协议
3、固定或限制资源地址
4、错误信息统一信息处理

csrf绕过方法

CSRF的绕过与利用

SSRF绕过方法

安全脉搏

攻击与防御

ssrf可以配合伪协议来玩

php伪协议用法

推荐阅读文章

https://xz.aliyun.com/t/11215#toc-0

posted @ 2022-04-27 14:35  阿力先生  阅读(232)  评论(0)    收藏  举报