初探 CSRF&SSRF
Posted CyberSec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初探 CSRF&SSRF相关的知识,希望对你有一定的参考价值。
CSRF
简介
成因:登录凭证(cookie)泄露
本质:伪装来自受信任用户的请求来利用受信任的网站
分类
# 资源包含
控制html标签(如<image>,<script>等)所包含的资源,影响URL被加载 :
仅限GET请求(HTML标签是浏览器对资源URL唯一的请求类型) :
tip:需要错误地使用安全的HTTP请求方式
# 基于表单
指向特定页面的钓鱼 :
伪造表单,包含具隐藏功能的JS代码,诱导提交 :
tip:正确使用安全的请求方式时看到
# XMLHttpRequest
标准的XHR+注入浏览器DOM (payload) :
基于XHR,由于SOP借助XSS有效载荷,无跨域资源共享策略(CORS) :
tip:XHR仅限于攻击者托管自己的有效载荷的原始请求
利用姿势
# 步骤
受害者必须在同一浏览器内访问并登陆目标站点;
利用用户未过期的Session cookie
# 危害
网站管理员(欺骗&诱发)
修改账户和数据
账户劫持
利用其他漏洞进行组合拳攻击
针对路由器的csrf攻击
防御
在请求地址中添加token并验证
在HTTP头中自定义属性并验证(XMLHttpRequest)
使用验证码
验证Referer/Content-Type
采用POST操作(用户的增删改查)
严格设置cookie的域(避免全站通用cookie)
SSRF
简介
成因:通常为了针对外部网络无法直接访问的内部系统
可利用点
# 由看雪整理
在线分享:通过URL地址分享网页内容
在线识图
在线翻译:百度翻译,有道翻译
各大网站订阅
图片加载与下载:通过URL地址加载或下载图片
图片、文章收藏功能
接收邮件服务器地址的邮件系统
调用URL的功能
文件处理,如ImageMagick,xml
请求远程服务器资源,远程URL上传,静态资源图片文件等
数据库内置功能,比如mongodb的copyDatabase函数
从URL关键字中寻找:share,url,link,src,source,target,sourceURl,imageURL,domain...
过滤绕过
更改IP地址写法(绕过正则)
使用解析到内网的域名
利用解析URL所出现的问题(参数解析不当)
利用跳转(302|307+短地址)
tip:307跳转会转发POST请求中的数据,302跳转不会。
通过各种非HTTP协议
tip:gopher协议,file协议(可避免服务端对所访问的IP进行的过滤)
DNS Rebinding
第一次去请求DNS服务进行域名解析到第二次服务端去请求URL之间存在一个时间差,利用这个时间差,可以进行DNS重绑定攻击 :
利用IPv6
有些服务没有考虑IPv6的情况,但是内网又支持IPv6,则可以使用IPv6的本地IP如 [::]0000::1 或IPv6的内网域名来绕过过滤 :
利用国际化域名(Internationalized Domain Name,IDN)的字符等价转换
如网络访问工具Curl支持该IDN :
防御
过滤返回的信息
统一错误信息
限制请求的端口
禁止不常用的协议
对DNS Rebinding,考虑使用DNS缓存或者Host白名单
以上是关于初探 CSRF&SSRF的主要内容,如果未能解决你的问题,请参考以下文章