当前位置:网站首页>SSRF-服务器端请求伪造-相关知识
SSRF-服务器端请求伪造-相关知识
2022-08-04 12:36:00 【常家壮】
SSRF漏洞介绍:
SSRF漏洞(服务器端请求伪造):是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统,正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统,利用漏洞可以发起网络请求来攻击内网服务
SSRF漏洞原理:
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制,比如从指定URL地址获取网页文本内容,加载指定地址的图片以及下载等等,利用的是服务端的请求伪造
SSRF是利用存在缺陷的web应用作为代理攻击远程和本地的服务器
SSRF是要目标网站的内部系统
SSRF漏洞可以做哪些事情
- 可以对外网服务器所在内网、本地进行端口扫描,获取一些服务的banner信息
- 对内网web应用进行指纹识别,比如通过访问默认文件实现
- 攻击运行在内网或本地的应用程序比如溢出
- 攻击内外网的web应用,主要是使用get参数就可以实现的攻击,比如struts2,sqli等漏洞工具
- 利用file协议读取本地文件等
SSRF漏洞挖掘点:
SSRF攻击结果由涵数本身来决定,涵数功能越强大,攻击成功的机会就越高,如PHP的:curl_init、file_get_contents、fsockopen
网站功能:
- 在线翻译
- 转码服务
- 图片、文章收藏功能
- 图片加载与下载:通过URL地址加载或下载图片
- 分享:通过URL地址分享网页内容
- 未公开的api实现以及其他调用URL的功能
- 所有调外部资源的参数都有可能存在ssrf漏洞
网站url参数:
- share
- wap
- url
- link
- src
- source
- target
- u
- 3g
- display
- sourceURl
- imageURL
- domain
绕过方法:
利用解析URL所出现的问题
利用解析URL所出现的问题比如:http://[email protected]/
更改IP地址写法
改写成 8进制、16进制等,IP地址是一个32位的二进制数,通常被分割为4个8位二进制数,通常用“点分十进制”表示成(a.b.c.d)的形式,所以IP地址的每一段可以用其他进制来转换
比如将 http://192.168.66.133 转换为8进制:http://0300.0250.0102.0205
比如将 http://192.168.66.133 转换为16进制:http://0xc0.0xa8.0x42.0x85
比如将 http://127.0.0.1 转换为8进制:http://0177.0000.0000.0001
比如将 http://127.0.0.1 转换为16进制:http://0x7f.0x00.0x00.0x01
防范方法:
- 白名单过滤
- 对返回的内容进行识别
- 过滤file:///、dict://、gopher://、ftp:// http:// https:// php:///危险schema
- 过滤10.0.0.0/8 、172.16.0.0/12、192.168.0.0/16、localhost私有地址、IPv6地址
用pikachu靶场演示SSRF漏洞
SSRF(curl)
前端传进来的url被后台使用curl_exec()进行了请求,然后将请求的结果又返回给了前端,这关支持的协议挺多的:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE以及LDAP
读取文件:
Linux系统读取
file:///etc/passwd
我在C盘下建立了一个ssrf文本文件,就读取这个文本 我用的 file:///C://ssrf.txt
根据banner返回,错误提示,时间延迟扫描端口:
http://192.168.1.15:22
这里探测 3306 是否开启,有结果就是开启了,没结果换换协议换协议还没有就是没探测出来或则没开端口
SSRF(file_get_content)
读取PHP文件的源码:
php://filter/read=convert.base64-encode/resource=ssrf.php

边栏推荐
- 第10章 模块和包
- Tarjan 求有向图的强连通分量
- Analysis and comparison of mobile cross-end technical solutions
- Neck modules of the yolo series
- break与continue超详解!!!
- Two years of independent development experience Programmers tell us the experience of making money (listen to the masters who really make money)
- 从零开始配置 vim(7)——自动命令
- Small program on how to play in the construction of e-government service platform value
- 【软考 系统架构设计师】软件架构设计② 软件架构风格
- 从零开始配置 vim(6)——缩写
猜你喜欢
随机推荐
动规(16)-并查集基础题——亲戚(Relations)
罗振宇的A股梦,咋这么难圆?
图像分割方法
数据中台建设(九):数据中台资产运营机制
Django使用腾讯云发送短信并存入redis
A Collection of Flutter Tutorials (2022 Edition)
考研数一数二数三之间的具体详细区别
"Lonely Walking on the Moon" is a powerful medicine, it can't cure the internal friction of happy twist
Systemui qsSetting添加新图标
论文翻译:2022_Time-Frequency Attention for Monaural Speech Enhancement
来 TDengine 开发者大会,洞悉数据技术发展的未来趋势
年轻人为什么不喜欢买蒙牛、伊利了?
String is a reference type
如何让 WPF 程序更好地适配 UI 自动化
Linux-Docker-Mysql安装
全面认识MOS管,一篇文章就够了
炫酷又高效的数据可视化大屏,做起来真的没那么难!丨极客星球
break与continue超详解!!!
判断密码是否包含键盘连续字母
【黑马早报】尚乘数科上市13天,市值超阿里;北大终止陈春花聘用合同;新东方花近200亿退学费和遣散费;张小泉75%产品贴牌代工...








