声明:本篇文章不涉及实际的攻击渗透等,均在自己搭建的靶机下进行操作。仅限用于合法授权的安全测试、技术研究与学习交流目的,禁止非法用途,任何因违反此条约定而产生的全部法律责任及后果,均需由您自行独立承担。
一.SSRF攻击
csrf:跨站请求伪造
xss:跨站脚本攻击
SSRF:SSRF (Server-Side Request Forgery)服务器端请求伪造。,是一种网络攻击技术,攻击者利用服务器上的应用程序向任意服务器发起请求或者操作,这些请求可能包括但不限于文件读取、命令执行、端口扫描等。由于这些请求是从服务器内部发起的,因此他们可以绕过服务器的外部访问控制,访问内部网络资源或者执行恶意操作。
1.SSRF漏洞原理
SSRF的工作原理如下
1.攻击者在目标Web应用程序的输入字段中注入恶意URL
2.目标服务器收到请求并解析URL。
3.目标服务器发起请求到注入的URL。4.攻击者通过构造特定的URL,利用目标服务器上的漏洞来访问内部网络、敏感文件或执行远程代码。
示例:
2.SSRF形成原因
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。
首先,我们要对目标网站的架构了解,脑子了要有一个架构图。比如:A网站,是一个所有人都可以访问的外网网站,B网站是一个他们内部的OA网站,我们普通用户只可以访问a网站,不能访问b网站。但是我们可以通过a网站做中间人,访问b网站,从而达到攻击b网站需求。
正常用户访问网站的流程是:
输入A网站URL --> 发送请求 --> A服务器接受请求(没有过滤),并处理 -->返回用户响应
那网站有个请求是 www.jaden.com/xxx.php?image=URL
产生的原因:服务器端的验证并没有对其请求获取图片的参数(image=)做出严格的过滤以及限制,导致A网站可以从其他服务器的获取数据。
3.SSRF用途
攻击者利用SSRF可以实现的攻击主要有5种:主机扫描、端口扫描、指纹识别、漏洞利用、内网探针。
1.可以对外部网、服务器所在内网、本地进行端口扫描,获取一些服务的banner(web服务程序、操作系统等)信息;
2.攻击运行在内网或本地的应用程序(比如溢出);
3.对内网web应用进行指纹识别,通过访问默认文件实现;
4.攻击内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2,sql等);
5.利用file协议读取本地文件等。
可利用的协议有很多,比如: http://192.168.2.104/pikachu file:///d:/1.txt dict://192.168.2.104:3306 探测mysql的一些信息,http协议也是可以探测的。 ftp://192.168.2.104:21等等 |
漏洞利用:结合某些应用程序漏洞来完成操作系统的渗透
https://blog.csdn.net/weixin_3052723/article/details/94862967
上面这个漏洞利用你令发现,我们可以执行操作系统指令,那么可以通过指令去下载一些木马文件,然后执行木马文件,通过木马将操作系统数据转发出来,然后控制目标主机,或者下载一些端口转发工具,将端口流量转发出来,再通过一些工具进行接收。
4.SSRF漏洞出现位置
注:个人觉得所有调外部资源的参数都有可能存在ssrf漏洞
1)分享:通过URL地址分享网页内容,比如分享一篇文章、分享一个视频等等,都有一个url链接地址,我们可以把地址改一下,改为它公司内网服务器地址(192.168.1.70开头的),那么就可以探测它的内网了。
2)转码服务
3)在线翻译
4)图片加载与下载:通过URL地址加载或下载图片
5)图片、文章收藏功能
6)未公开的api实现以及其他调用URL的功能
7)从URL关键字中寻找