CTF SSRF(服务器端伪造请求)
CTF SSRF(服务器端伪造请求)
一、概念
SSRF(Server-Side Request Forgery),服务器端请求伪造,利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据的限制
对外发起网络请求的地方都可能存在SSRF漏洞
二、危害
- 1、可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息
- 2、攻击运行在内网或本地的应用程序(比如溢出)
- 3、对内网Web应用进行指纹识别,通过访问默认文件实现
- 4、攻击内外网的Web应用,主要是使用Get参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等)
- 5、利用file协议读取文件
三、漏洞挖掘与判断
- 从WEB功能上寻找
- 分享:通过URL地址分享网页内容
- 转码服务:通过URL地址吧原地址的网页内容调优使其适合手机屏幕浏览
- 在线翻译:通过URL地址翻译对应文本的内容。
- 图片加载与下载:通过URL地址加载或下载图片
- 未公开的api实现以及其他调用URL的功能
- 从URL关键字中寻找
- share、wap、url、link、src、source、target、u、3g、display、sourceURL、imageURL、domain
- 基本判断
- 回显
- 直接观察
- 抓包
- 用vps监听
- 延时
- DNS请求
- 回显
四、相关函数
file_get_contents
fsockopen
curl_exec
五、IP绕过
- 添加端口
例如:192.168.200.9:80
- 短网址
利用302跳转到目标网址 - 指向任意IP的域名xip.io
例如:10.0.0.1.xip.io resolves to 10.0.0.1
- IP限制绕过
- 十进制
- 八进制
- 十六进制
- 不同进制组合转换
- 302跳转
- 结合
dict://
、file://
、gopher://
http://A.com@10.10.10.10
相当于以http://A.com
的身份访问10.10.10.10http://A.com?xxx=xx
后跟无用参数绕过
六、Gopher协议
gopher是一个互联网上使用过的分布型的文件搜索获取网络协议
gopher协议支持发出GET、POST请求:可以先截获get请求包和post请求包,在构成符合gopher协议的请求。gopher协议是ssrf利用中最强大的协议
利用 Gopher 协议拓展攻击面
1、使用限制
(图片来源见水印)
- phpinfo中查看curl支持的协议
- 数据库无密码
2、构造payload
https://github.com/tarunkant/Gopherus
https://github.com/swisskyrepo/SSRFmap
CTF SSRF(服务器端伪造请求)的更多相关文章
- 5.SSRF服务器端请求伪造
SSRF(服务端请求伪造):是一种由攻击者构造形成由服务端发起请求的一个安全漏洞. 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统.(正是因为它是由服务端发起的,所以它能够请求到与它相连而与 ...
- SSRF(服务端请求伪造)漏洞
目录 SSRF SSRF漏洞的挖掘 SSRF漏洞利用 SSRF漏洞防御 SSRF SSRF(Server-Side Request Forgery,服务器端请求伪造)漏洞,是一种由攻击者构造请求,由服 ...
- Java HttpClient伪造请求之简易封装满足HTTP以及HTTPS请求
HttpClient简介 HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 jav ...
- Flutter实战视频-移动电商-08.Dio基础_伪造请求头获取数据
08.Dio基础_伪造请求头获取数据 上节课代码清楚 重新编写HomePage这个动态组件 开始写请求的方法 请求数据 .但是由于我们没加请求的头 所以没有返回数据 451就是表示请求错错误 创建请求 ...
- DNS反射放大攻击分析——DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器
DNS反射放大攻击分析 摘自:http://www.shaojike.com/2016/08/19/DNS%E6%94%BE%E5%A4%A7%E6%94%BB%E5%87%BB%E7%AE%80%E ...
- ASP.NET-跨站伪造请求CSRF
经常看到在项目中ajax post数据到服务器不加防伪标记,造成CSRF攻击,在Asp.net Mvc里加入防伪标记很简单在表单中加入Html.AntiForgeryToken()即可Html.Ant ...
- 08-Flutter移动电商实战-dio基础_伪造请求头获取数据
在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设.这篇文章就以极客时间 为例,讲一下通过伪造 ...
- 渗透之路基础 -- 跨站伪造请求CSRF
漏洞产生原因及原理 跨站请求伪造是指攻击者可以在第三方站点制造HTTP请求并以用户在目标站点的登录态发送到目标站点,而目标站点未校验请求来源使第三方成功伪造请求. XSS利用站点内的信任用户,而CSR ...
- Flutter dio伪造请求头获取数据
在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设.下面就以极客时间为例,讲一下通过伪造请求头 ...
随机推荐
- 【开发笔记】- QQ消息轰炸
1.右键新建一个文本文件: 2.打开记事本将如下代码复制过去: On Error Resume Next Dim wsh,ye set wsh=createobject("wscript.s ...
- iview blur事件
在iview中,失去焦点的写法是: @on-blur="editTitle(item, index)"
- eclipse设置代码折叠展开快捷键
/** * 1.General->Editors->Structured Text Editors -> Enable folding 打勾 * .Java->Editors- ...
- angularcli 第五篇(输入框、表单处理)
本文参考:Angular4 表单快速入门 注:涉及input表单时要在AppComponent中引入 FormsModule模块: import{ FormsModule } from '@a ...
- 外部服务发现-ingress
Ingress`其实就是从 kuberenets 集群外部访问集群的一个入口,将外部的请求转发到集群内不同的 Service 上,其实就相当于 nginx.haproxy 等负载均衡代理服务器,Ing ...
- python学习之多窗口切换
多窗口切换: from selenium import webdriver d = webdriver.Firefox() d.window_handles #显示所有的窗口 d.current_wi ...
- python使用print写文件
刚刚看sumo的官方教程,有一段代码是生成配置文件,发现python中的print函数也可以写文件. with open("data/cross.rou.xml", "w ...
- 视觉跟踪:MDnet
应用需注明原创! 深度学习在2015年中左右基本已经占据了计算机视觉领域中大部分分支,如图像分类.物体检测等等,但迟迟没有视觉跟踪工作公布,2015年底便出现了一篇叫MDNet的论文,致力于用神经网络 ...
- POJ P1985 Cow Marathon 题解
这道题是我们考试的第一题,非常水,就是一个树的直径的板子.详见上一篇博客. #include<iostream> #include<cstdio> #include<cs ...
- Jmeter 正则表达式提取器详解(Regular Expression Exactor)
Jmeter 正则表达式提取器详解(Regular Expression Exactor) Name(名称):随意设置,最好有业务意义. Comments(注释):随意设置,可以为空 Apply to ...